cURL 404 Erro - codificação de URL com URL do SharePoint

2

Estou tentando conectar-me a uma URL do SharePoint e puxar os dados na forma de um arquivo .json . Meu URL é assim:

.../_api/web/lists/GetByTitle('titles list')/items

Se eu der o URL como está sem nenhuma codificação, ele falhará com um erro HTTP/1.1 400 Bad Request . Eu tentei usar -G e --data-urlencode da seguinte forma:

curl -v -G -L --ntlm --user user:password -H 'Accept: application/json;odata=verbose' ".../_api/web/lists/GetByTitle" --data-urlencode "('titles list')" -d "/items"

Isso converte minha URL em .../_api/web/lists/GetByTitle?%28%27titles%20list%27%29&/items

Mas ele falha com HTTP/1.1 404 Not Found , pois o uso de -G adicionará ? e & ao URL. Ter o ? e o & presente me dará um URL diferente e, portanto, o erro 404 not found .

Não tenho problemas para acessar outros pontos de extremidade, como ../_api/web/lists , pois, acredito, não é necessário codificar essa URL?

Como eu codifico corretamente meu URL e obtenho os dados sem erros?

    
por Hemanth 13.02.2018 / 17:36

1 resposta

2

Consegui resolver o problema usando diretamente os caracteres codificados na URL do comando cURL .

Aqui está um exemplo:

curl -v -L --ntlm --user user:password -H 'Accept: application/json;odata=verbose' ".../_api/web/lists/GetByTitle%28%27titles%20list%27%29/items"

Espero que isso ajude alguém. Eu sei que não sou especialista em linux ou cURL , então qualquer resposta melhor para isso é bem-vinda.

    
por 13.02.2018 / 17:50

Tags