2012-06-26 95 views
1

我正在做一個HTTP「PUT」使用WebClient類JSON字符串到彈性搜索。該代碼適用於95%的案例,但其餘部分失敗。我得到的錯誤是我的代碼中有400個錯誤的協議。當我使用jQuery AJAX或名爲Postman的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類,它工作正常,沒有任何錯誤,因爲。