我一直在衝浪和工作幾個小時,現在我讀了扔我的電腦。將WebClient轉換爲HttpClient
我有一個WPF應用程序上的WebClient需要轉換爲HttpClient UWP應用程序。我收到很多頭文件錯誤,因爲我不是網絡專家,所以我打敗了自己。
這裏的原件,如果有人會非常善良,並幫助我將其轉換爲HttpClient我會非常感激。
using (var client = new WebClient())
{
string request = "------WebKitFormBoundarygWsJMIUcbjwBPfeL"
+ Environment.NewLine
+ "Content-Disposition: form-data; name=\"guid\""
+ Environment.NewLine
+ Environment.NewLine
+ presetSmall.PresetId.ToString()
+ Environment.NewLine
+ "------WebKitFormBoundarygWsJMIUcbjwBPfeL"
+ Environment.NewLine
+ "Content-Disposition: form-data; name=\"delay\""
+ Environment.NewLine
+ Environment.NewLine
+ "0"
+ Environment.NewLine
+ "------WebKitFormBoundarygWsJMIUcbjwBPfeL--"
+ Environment.NewLine;
client.Headers.Add(HttpRequestHeader.ContentType, "multipart/form-data; boundary=----WebKitFormBoundarygWsJMIUcbjwBPfeL");
client.UploadStringAsync(new Uri(ServerName + UriForPresetExecution), "POST", request);
}
的問題是在client.Headers.Add方法......我不能爲時間弄清楚怎樣的HttpClient要我添加這些報頭的緣故。
我知道。看到這個問題很多。 WebClient比HttpClient聰明得多。我通常使用像fiddler或wireshark這樣的嗅探器,並使用工作應用程序(如WebClient)捕獲http頭。然後將缺少的標題添加到我的HttpClient。 – jdweng
我意識到這個關鍵字是「MultipartFormDataContent」,而不是「content-type」。但是我沒有找到適合你的UWP例子。 – kennyzx
@kennyzx你幫了很多人。我認爲你的第二個答案有效......但是;我需要在清除標題之前清除標題。我不知道爲什麼,但我閱讀其他人有相同的問題,所以我試了一下,它的工作。轉發,我會編輯答案。使用(var httpClient = new HttpClient()) –