使用SharePoint URL和cURL进行URL编码

时间:2018-02-13 15:49:29

标签: linux url curl sharepoint urlencode

我是使用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之类的其他终点,因为我猜不需要对其进行编码。

如何正确编码我的网址并获取数据而没有任何错误?

任何帮助将不胜感激。谢谢。

1 个答案:

答案 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的专家,欢迎任何更好的答案。