2012-06-26 2 views
1

Я выполняю HTTP «PUT», используя класс WebClient для строки JSON для поиска в режиме Elastic. Этот код работает в 95% случаев, но не работает для остальных. Ошибка, которую я получаю, - 400 плохой протокол в моем коде. Когда я отправляю тот же JSON с помощью jQuery AJAX или расширения Chrome, называемого Postman, он работает безупречно. Я не уверен, как обойти эту ошибку. Мой код ниже -Ошибка .NET WebClient 400

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 
} 

ответ

2

Elastic Search ожидает, что некоторые заголовки, WebClient не пройдут. Я использовал класс HttpWebRequest, и он работал нормально, без ошибок.

Смежные вопросы