簡體   English   中英

將WebClient.UploadString()替換為HttpClient.PostAsync

[英]Replace WebClient.UploadString() to HttpClient.PostAsync

我想在我的代碼中將WebClient替換為HttpClient。 我必須在HttpClient中使用什么HttpContent來替換WebClient.UploadString? 我的WebClient代碼:

string data = string.Format("name={0}&warehouse={1}&address={2}", name, shop.Warehouse.Id, shop.Address);

using (var wc = new WebClient()) {
    wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
    wc.Encoding = Encoding.UTF8;

    string fullUrl = BaseUrl + url;
    string response = wc.UploadString(fullUrl, data);
    // ...
}

您可以構造postdata並在FormUrlEncodedContent的實例中使用它,如下所示:

// This is the postdata
var data = new List<KeyValuePair<string, string>>();
data.Add(new KeyValuePair<string, string>("Name", "test"));

HttpContent content = new FormUrlEncodedContent(data);

此頁面上指定了解決方案:

如何使用System.Net.HttpClient發布復雜類型?

您可以決定異步或同步發布它,例如:

HttpResponseMessage x = await httpClient.PostAsync(fullUrl, content);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM