我正在尝试将cvs文件数据导入远程Solr。
我的命令是:
curl "http://mydomain.io/solr/#/qacheck/update?commit=true" --data-binary "d:\maincat.csv" -H "Content-type:application/csv"
我得到这样的输出:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>Error 405 HTTP method POST is not supported by this URL</title>
</head>
<body><h2>HTTP ERROR 405</h2>
<p>Problem accessing /solr/index.html. Reason:
<pre> HTTP method POST is not supported by this URL</pre></p>
</body>
</html>
在我尝试这样之后:
curl "http://proxy.sip.solr.qacheck1.test9.mcc.gb-lon1.metroscales.io/solr/qacheck/update?commit=true" --data-binary "d:\maincat.csv" -H "Content-type:application/csv"
现在我收到了这个回复。我验证了,没有导入数据。
<?xml version="1.0" encoding="UTF-8"?>
<response>
<lst name="responseHeader"><int name="status">0</int><int name="QTime">3</int></
lst>
</response>
答案 0 :(得分:0)
#
表示本地锚点。此值永远不会暴露给服务器,并且仅在浏览器内部用于链接到页面的特定部分 - 或者在许多现代Web应用程序中,以保持关于当前javascript上下文的某些本地状态。在上面的第一个网址中,您已经包含了该网址的浏览器部分,并且没有使用实际的网址来更新处理程序。
在您的第二次尝试中,您不会包含该文件,只包括逐字文本d:\maincat.csv
。如果您希望curl读取文件并提交其内容(而不是提交逐字路径),you have to prefix the value with @
。所以--data-binary "@d:\maincat.csv"
应该做你想做的事。