.NET WebClient 400错误

时间:2012-06-26 21:28:56

标签: .net http protocols webclient http-status-code-400

我正在使用WebClient类进行HTTP“PUT”,以获取弹性搜索的JSON字符串。此代码在95%的情况下有效,但其余部分则无效。我得到的错误是我的代码中有400个坏协议。当我使用jQuery AJAX或名为Postman的Chrome扩展程序发布相同的JSON时,它可以完美地运行。我不知道如何解决这个错误。我的代码在下面 -

string json = "{some json}";
WebClient client = new WebClient();
client.Headers["Content-Type"] = "application/json;charset=UTF-8";    

try
{
     json = client.UploadString(URL, "PUT", json);
}
catch (WebException ex)
{
     //catch exception
}

1 个答案:

答案 0 :(得分:2)

Elastic Search需要一些WebClient不会传递的标头。我使用了HttpWebRequest类,它工作正常,没有任何错误。