【问题标题】:C# HttpClient POST request pass already encoded dataC# HttpClient POST 请求传递已经编码的数据
【发布时间】:2015-10-12 18:16:37
【问题描述】:

我已经编码了想要传递的数据作为字符串到 HttpClient PostRequest

但是 FormUrlEncodedContent 只接受一个字典作为参数

我想要类似 client.PostAsync(url, plain_string_content)

 var content = new FormUrlEncodedContent(values);

            using (var client = new HttpClient())
            {

      try
                {

                     var response = client.PostAsync(url, content).GetAwaiter().GetResult();
                     string resp=response.Content.ReadAsStringAsync().GetAwaiter().GetResult();
                     return resp;
                }

【问题讨论】:

    标签: c# http


    【解决方案1】:

    您可以使用HttpClient.SendAsync:

    HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post);
    request.Content = new StringContent(plain_string_content);
    request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/x-www-form-urlencoded");
    
    await client.SendAsync(request);
    

    注意,毕竟PostAsyncHttpClient的方法是SendAsync的快捷方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-29
      • 1970-01-01
      • 2015-08-20
      • 1970-01-01
      • 1970-01-01
      • 2021-07-27
      • 1970-01-01
      • 2019-09-02
      相关资源
      最近更新 更多