Я пытаюсь использовать библиотеку httpclient, но проблема в этом коде
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, "https://server/ucwa/oauth/v1/applications/10751539691/batch")
{
Content = new StringContent("", Encoding.UTF8, "multipart/batching;boundary=77f2569d") // CONTENT-TYPE header
};
Он вылетает и говорит
System.FormatException: 'The format of value 'multipart/batching;boundary=77f2569d' is invalid.'
Однако это работает отличнохорошо:
static void Test() {
PostAsync("https://server/ucwa/oauth/v1/applications/10751539691/batch", "Bearer", "cwt=AAEBHAEFAAAAAAAFFQAAACd5t5mMpiIgog-06W0EAACBEJH-LcfxNO5SsZ3Ya9NHaRuCAluYgyChwp4HzFpww_sZkaK5SBFBUY4Uk3oW6u6U0Oeh9jWOZoYI8fwX34ce1ggNEJH-LcfxNO5SsZ3Ya9NHaRs", data, "multipart/batching", "multipart/batching;boundary=77f2569d");
}
static void PostAsync(string uri, string token_type, string access_token, string postData, string accept, string content_type)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
byte[] data = Encoding.ASCII.GetBytes(postData);
request.Method = "POST";
request.Accept = accept;
request.ContentType = content_type;
request.Headers.Add("Authorization", token_type + " " + access_token);
request.ContentLength = data.Length;
using (Stream stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
request.BeginGetResponse(new AsyncCallback(FinishWebRequest), request);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
string responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
}
static void FinishWebRequest(IAsyncResult result)
{
HttpWebResponse response = (result.AsyncState as HttpWebRequest).EndGetResponse(result) as HttpWebResponse;
string responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
Console.WriteLine(responseString);
Console.ReadLine();
}
Кто-нибудь знает, в чем проблема?Как заставить его принять этот тип контента для отправки запроса с использованием httpClient?
Спасибо