ฉันใช้HttpClient
สำหรับการโทรผ่าน WebApi ด้วย C # WebClient
ดูเหมือนว่าวิธีที่ประณีตและรวดเร็วเมื่อเทียบกับ อย่างไรก็ตามฉันติดขัดในขณะที่Https
โทร
ฉันจะHttps
โทรด้านล่างเพื่อโทรออกได้อย่างไร?
HttpClient httpClient = new HttpClient();
httpClient.BaseAddress = new Uri("https://foobar.com/");
httpClient.DefaultRequestHeaders.Accept.Clear();
httpClient.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/xml"));
var task = httpClient.PostAsXmlAsync<DeviceRequest>(
"api/SaveData", request);
แก้ไข 1: รหัสข้างต้นใช้งานได้ดีสำหรับการโทร http แต่เมื่อฉันเปลี่ยนรูปแบบเป็น https มันไม่ทำงาน นี่คือข้อผิดพลาดที่ได้รับ:
การเชื่อมต่อพื้นฐานถูกปิด: ไม่สามารถสร้างความสัมพันธ์ที่เชื่อถือได้สำหรับช่องทางที่ปลอดภัยของ SSL / TLS
แก้ไข 2: การเปลี่ยนรูปแบบเป็น https คือ: ขั้นตอนที่หนึ่ง
ฉันจะจัดหาใบรับรอง & คีย์สาธารณะ / ส่วนตัวพร้อมกับคำขอ C # ได้อย่างไร
new Uri("https://foobar.com/");