我是使用CURL
的新手。我正在尝试连接到SharePoint
网址,并以json
的形式提取数据。我的网址如下所示:
.../_api/web/lists/GetByTitle('titles list')/items
如果我按原样提供URL而没有任何编码,则会因HTTP/1.1 400 Bad Request
错误而失败。
我尝试使用-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"
这样做会将我的网址转换为.../_api/web/lists/GetByTitle?%28%27titles%20list%27%29&/items
但它失败了HTTP/1.1 404 Not Found
,因为使用-G
将附加到?
和&
的网址。将?
和&
附加到网址会给我一个不同的网址,从而导致404 not found
错误。
我没有问题访问../_api/web/lists
之类的其他终点,因为我猜不需要对其进行编码。
如何正确编码我的网址并获取数据而没有任何错误?
任何帮助将不胜感激。谢谢。
答案 0 :(得分:-1)
我能够通过直接将带有编码字符的URL发送到cURL
命令来解决问题。像这样:
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
的专家,欢迎任何更好的答案。