我正在使用HttpClient.PostAsync()
方法将帖子请求发送到我的网络服务API。
我正在传递api URL地址以及queryString参数..
但是PostAsync()
方法无法正常工作,发出错误:
状态码417期望失败。
public override async void SendPostRequest(REQUEST_NAME reqName, IDictionary<string, object> args)
{
var _client = new System.Net.Http.HttpClient();
_client.BaseAddress = new Uri("http://www.example.com/api/v2.0/");
_client.MaxResponseContentBufferSize = 256000;
string queryString = "?";
string url = reqName.ToString() + ".json" + queryString;
string queryStringparam = "";
foreach (KeyValuePair<string, object> param in args)
{
queryStringparam += param.Key + "=" + param.Value + "&";
}
// queryStringparam=name="abc&age=25&event=browsed&url=www.google.com"
var response = await _client.PostAsync(url, new StringContent(queryStringparam));
if (response.IsSuccessStatusCode)
{
}
可能是我在PostAsync()
方法中以错误的方式传递参数。
请告诉我你的建议。感谢。
答案 0 :(得分:0)
根据this MSDN forum thread,这可能是由不支持“100继续”期望的代理引起的。
要解决此问题,请将ServicePointManager.Expect100Continue
或HttpRequestHeaders.ExpectContinue
设置为false
。