我正在使用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
}
答案 0 :(得分:2)
Elastic Search需要一些WebClient不会传递的标头。我使用了HttpWebRequest类,它工作正常,没有任何错误。