2012-06-26 5 views
1

Elastic Search에 대한 JSON 문자열에 대해 WebClient 클래스를 사용하여 HTTP "PUT"을 수행하고 있습니다. 이 코드는 95 %에서 작동하지만 나머지는 실패합니다. 내가 얻는 오류는 내 코드에서 400 나쁜 프로토콜입니다. Postman이라는 jQuery AJAX 또는 Chrome 확장 프로그램을 사용하여 동일한 JSON을 게시하면 완벽하게 작동합니다. 이 오류를 해결하는 방법을 잘 모르겠습니다. 내 코드가 아래와 같습니다..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 클래스를 사용 했으므로 오류없이 정상적으로 작동했습니다.