[英]How to add the Content-Type header to a .Net GET web request?
我需要將以下curl
調用轉換為HttpClient
調用:
卷曲:
curl -i -X GET "https://dev.wetransfer.com/v2/transfers/{transfer_id}/files/{file_id}/upload-url/{part_number}" \
-H "Content-Type: application/json" \
-H "x-api-key: your_api_key" \
-H "Authorization: Bearer jwt_token"
我嘗試使用Httpclient:
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Add("x-api-key", My_Correct_ApiKey);
client.DefaultRequestHeaders.Add("Authorization",My_Correct_Token);
var xxx = client.GetAsync($"https://dev.wetransfer.com/v2/transfers/{response.Id}/files/{file.Id}/upload-url/{partNumber}").Result;
}
您必須相信我正確填寫的參數。 現在,curl調用將按預期方式工作並返回Json消息。 .Net代碼失敗,並顯示“不支持的媒體類型”響應。
奇怪的是,該請求沒有任何Json序列化的內容:所有需要的信息都打包在Request Uri中。 (據我了解, HttpClient
不支持GET調用中的內容。)
我要去哪里錯了?
答案可以在這里找到。
基本上,.Net不允許您在GET調用上添加Content-Type標頭,因為.Net中的GET調用不支持Content! 該鏈接指的是一種hack,它消除了對Content-Type標頭的此限制。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.