我正在尝试连接到SharePoint URL并以.json文件的形式提取数据.我的网址如下所示:
.../_api/web/lists/GetByTitle('titles list')/items
如果我按原样提供URL而不进行任何编码,则会因HTTP / 1.1 400错误请求错误而失败.我尝试使用-G和–data-urlencode如下:
curl -v -G -L --ntlm --user user:password -H 'Accept: application/json;odata=verbose' ".../_api/web/lists/GetByTitle" --data-urlencode "('titles list')" -d "/items"
这样做会将我的URL转换为… / _ api / web / lists / GetByTitle?(‘titles lists’)& / items
但是由于使用-G会附加一个?和&到URL.有?和& present将给我一个不同的URL,因此404找不到错误.
我没有问题访问其他端点,例如../_api/web/lists,因为 – 我相信 – 没有必要对此URL进行编码?
如何正确编码我的URL并获取数据而没有任何错误?
解决方法:
我能够通过直接在cURL命令的URL中使用编码字符来解决问题.
这是一个例子:
curl -v -L --ntlm --user user:password -H 'Accept: application/json;odata=verbose' ".../_api/web/lists/GetByTitle%28%27titles%20list%27%29/items"
我希望这可以帮助别人.我知道我不是linux或cURL的专家,所以欢迎任何更好的答案.
标签:linux,url,curl,api
来源: https://codeday.me/bug/20190816/1671130.html