1

ElasticSearchへのJSON文字列のWebClientクラスを使用してHTTP「PUT」を実行しています。このコードは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
}
4

1 に答える 1

2

Elastic Searchは、WebClientが渡さないいくつかのヘッダーを想定しています。私はHttpWebRequestクラスを使用しましたが、それ以降、エラーなしで正常に機能しました。

于 2012-07-11T14:10:55.217 に答える