Как отправить HTTP POST с помощью curl? - PullRequest
1 голос
/ 21 октября 2011

Я пытаюсь получить доступ к API Google Search Appliance: http://code.google.com/apis/searchappliance/documentation/612/gdata/acapi_protocol.html

Для отправки запросов я использую curl. Моя проблема в том, что когда я пытаюсь войти, используя

curl -k -X POST https://ip.ad.dr.ess:8443/accounts/ClientLogin&Email=username&Passwd=password

Я получаю следующее:

'Email' is not recognized as an internal or external command,
operable program or batch file.
Passwd: unknown user =password

Любая помощь с этой проблемой будет принята с благодарностью. Я новичок в скручивании, поэтому я понимаю, что, возможно, я неправильно его использую.

У меня установлен curl через cygwin на Windows 7.

Ответы [ 3 ]

6 голосов
/ 21 октября 2011

Я почти уверен, что вы должны сделать что-то вроде

curl -k -X POST https://ip.ad.dr.ess:8443/accounts/ClientLogin -d Email=username -d Passwd=passwd

Список параметров команды см. http://curl.haxx.se/docs/manpage.html#-d

1 голос
/ 21 октября 2011

Попробуйте заключить в URL свой адрес ".Поскольку вы используете & и другие специальные символы bash, вам необходимо заключить их в кавычки.

Это проблема bash:

$ curl -k -X POST "https://ip.ad.dr.ess:8443/accounts/ClientLogin&Email=username&Passwd=password"
0 голосов
/ 21 октября 2011

Оболочка интерпретирует символ & как конец команды: вам нужно поместить весь URL в кавычки

curl -k -X POST "https://ip.ad.dr.ess:8443/accounts/ClientLogin&Email=username&"
...