我正在通过 C#/Winforms/.NET4.0 应用程序中的 HTTP/POST 使用 JSON 向 Solr 写入数据,以加快索引和使用下面的代码。我向 solr 写了一个文档(基于这些说明),但不断收到“400 错误请求”。JSON 看起来很干净,没有问题。
这似乎是一个语法问题,但过去几个小时我一直在努力解决这个问题,但无济于事。关于什么是错误的任何想法?所有帮助表示赞赏。
这是发布的 URI 字符串
"http://localhost:8080/solr/update/json -H 'Content-type:application/json' -d ' [ {\"UUID\":\"d2a174e4-81d6-487f-b68d-392be5d3d47a\",\"Extension\":\".AVI\",\"VideoFileName\":\"Clip 1.avi\"} ' ]"
string uri = http://localhost:8080/solr/update/json;
public bool WriteJSONToSolr(string uri, string json)
{
WebRequest request = WebRequest.Create(uri + " -H 'Content-type:application/json' -d ' [ " + json + " ' ]" );
request.ContentType = "application/x-www-form-urlencoded";
request.Method = "POST";
byte[] bytes = Encoding.ASCII.GetBytes(json);
Stream stream = null;
try
{ // send the Post
request.ContentLength = bytes.Length; //Count bytes to send
stream = request.GetRequestStream();
stream.Write(bytes, 0, bytes.Length); //Send it
}
catch
{
return false;
}
finally
{
if (stream != null)
{
stream.Close();
}
}
System.Net.WebResponse response = request.GetResponse();
if (response == null) return false;
return true;
}