0
J'essaie de déplacer certaines méthodes de httpwebrequest vers httpclient. J'ai fait la majeure partie du travail mais je suis resté avec celui-ci. Quelqu'un peut-il aider à atteindre cet objectif?Passage de HttpWebRequest à HttpClient
string url = someurl;
HttpWebRequest request = CreateRequest(url);
request.ContentType = "application/x-www-form-urlencoded";
request.Method = "POST";
request.ServicePoint.Expect100Continue = false;
string body = @"somestring here.";
byte[] postBytes = Encoding.UTF8.GetBytes(body);
request.ContentLength = postBytes.Length;
Stream stream = request.GetRequestStream();
stream.Write(postBytes, 0, postBytes.Length);
stream.Close();
response = (HttpWebResponse)request.GetResponse();
Je dois convertir cette méthode en utilisant HttpClient.
C'est ce que j'ai essayé.
string url = someurl;
var client = new HttpClient();;
client.DefaultRequestHeaders
.Accept
.Add(new MediaTypeWithQualityHeaderValue("application/x-www-form-urlencoded"));//ACCEPT header
//request.ContentType = "application/x-www-form-urlencoded";
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post,url);
string body = @"somestring here...";
var content = new StringContent(body, Encoding.UTF8, "application/x-www-form-urlencoded");
request.Content = content;
var ss = client.PostAsync(url,content).Result;
string str2 = await ss.Content.ReadAsStringAsync();
et je ne reçois pas cette partie de travailler.
string body = @"somestring here.";
byte[] postBytes = Encoding.UTF8.GetBytes(body);
request.ContentLength = postBytes.Length;
Stream stream = request.GetRequestStream();
stream.Write(postBytes, 0, postBytes.Length);
stream.Close();
Bien il semble que vous voulez probablement 'PostAsync' ... s'il vous plaît donner plus de détails quant à la partie qui vous cause des problèmes. (Cela n'aide pas que nous ne sachions pas ce que fait 'CreateRequest'.) –
' HttpClient' n'a que des méthodes asynchrones. Est-ce que votre code async est tel que vous n'aurez pas besoin de bloquer les appels asynchrones (.Result, .Wait() ..)? – Crowcoder
Qu'avez-vous essayé jusqu'à présent? Ce site n'est pas un convertisseur de code – Toshi