Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

จะโพสต์ข้อมูลไปยัง URL เฉพาะโดยใช้ WebClient ใน C # ได้อย่างไร


เราสามารถรับและโพสต์ข้อมูลจาก Web API โดยใช้เว็บไคลเอ็นต์ เว็บไคลเอ็นต์จัดเตรียมวิธีการทั่วไปสำหรับการส่งและรับข้อมูลจากเซิร์ฟเวอร์

เว็บไคลเอ็นต์ใช้งานง่ายสำหรับการใช้ Web API คุณยังสามารถใช้ httpClientin แทน WebClient

คลาส WebClient ใช้คลาส WebRequest เพื่อให้เข้าถึงทรัพยากร

อินสแตนซ์ WebClient สามารถเข้าถึงข้อมูลด้วยลูกหลานของ WebRequest ที่ลงทะเบียนด้วยเมธอด WebRequest.RegisterPrefix

Namespace:System.Net
Assembly:System.Net.WebClient.dll

UploadString ส่งสตริงไปยังทรัพยากรและส่งคืนสตริงที่มีการตอบกลับ

ตัวอย่าง

class Program{
   public static void Main(){
      User user = new User();
      try{
         using (WebClient webClient = new WebClient()){
            webClient.BaseAddress = "https://jsonplaceholder.typicode.com";
            var url = "/posts";
            webClient.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
            webClient.Headers[HttpRequestHeader.ContentType] ="application/json";
            string data = JsonConvert.SerializeObject(user);
            var response = webClient.UploadString(url, data);
            var result = JsonConvert.DeserializeObject<object>(response);
            System.Console.WriteLine(result);
         }
      }
      catch (Exception ex){
         throw ex;
      }
   }
}
class User{
   public int id { get; set; } = 1;
   public string title { get; set; } = "First Data";
   public string body { get; set; } = "First Body";
   public int userId { get; set; } = 222;
}

ผลลัพธ์

{
   "id": 101,
   "title": "First Data",
   "body": "First Body",
   "userId": 222
}