Ответ 1
* nix предоставляет небольшую команду, которая значительно облегчает нашу жизнь.
GET
с JSON:
curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET http://hostname/resource
с XML:
curl -H "Accept: application/xml" -H "Content-Type: application/xml" -X GET http://hostname/resource
POST
Для публикации данных:
curl --data "param1=value1¶m2=value2" http://hostname/resource
Для загрузки файла:
curl --form "[email protected]" http://hostname/resource
RESTful HTTP Post:
curl -X POST -d @filename http://hostname/resource
Для входа в сайт (auth):
curl -d "username=admin&password=admin&submit=Login" --dump-header headers http://localhost/Login
curl -L -b headers http://localhost/
Довольно печатать результаты скручивания:
Для JSON:
Если вы используете npm
и nodejs
, вы можете установить пакет json
, выполнив следующую команду:
npm install -g json
Использование:
curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET http://hostname/resource | json
Если вы используете pip
и python
, вы можете установить пакет pjson
, выполнив следующую команду:
pip install pjson
Использование:
curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET http://hostname/resource | pjson
Если вы используете Python 2.6+, инструмент json вставляется внутри.
Использование:
curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET http://hostname/resource | python -m json.tool
Если вы используете gem
и ruby
, вы можете установить пакет colorful_json
, выполнив следующую команду:
gem install colorful_json
Использование:
curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET http://hostname/resource | cjson
Если вы используете apt-get
(менеджер пакетов aptitude для вашего дистрибутива Linux), вы можете установить пакет yajl-tools
, выполнив следующую команду:
sudo apt-get install yajl-tools
Использование:
curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET http://hostname/resource | json_reformat
Для XML:
Если вы используете * nix с Debian/Gnome envrionment, установите libxml2-utils
:
sudo apt-get install libxml2-utils
Использование:
curl -H "Accept: application/xml" -H "Content-Type: application/xml" -X GET http://hostname/resource | xmllint --format -
или установите tidy
:
sudo apt-get install tidy
Использование:
curl -H "Accept: application/xml" -H "Content-Type: application/xml" -X GET http://hostname/resource | tidy -xml -i -
Сохранение зависания в файле
curl http://hostname/resource >> /path/to/your/file
или
curl http://hostname/resource -o /path/to/your/file
Подробное описание команды curl:
man curl
Подробнее о параметрах/переключателях команды curl, нажмите:
curl -h