这个问题在这里已有答案:
我在windows中的asp.net中有服务器应用程序,因为我有一个Web服务 .
如何使用cURL命令使用shell脚本在Linux中调用Web服务?
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 "fileupload=@filename.txt" http://hostname/resource
RESTful HTTP帖子:
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/
Pretty-printing the curl results:
对于JSON:
如果使用 npm 和 nodejs ,则可以通过运行以下命令安装 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 package:
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
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 (Linux发行版的aptitude包管理器),则可以通过运行以下命令安装 yajl-tools 包:
apt-get
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:
如果你在Debian / Gnome环境中使用* nix,请安装 libxml2-utils :
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 :
tidy
sudo apt-get install tidy
curl -H "Accept: application/xml" -H "Content-Type: application/xml" -X GET http://hostname/resource | tidy -xml -i -
Saving the curl response to a file
curl http://hostname/resource >> /path/to/your/file
要么
curl http://hostname/resource -o /path/to/your/file
有关curl命令的详细说明,请点击:
man curl
有关curl命令的选项/开关的详细信息,请执行以下操作:
curl -h
我认为Amith Koujalgi是正确的,但是,如果Web服务响应是JSON,那么以干净的JSON格式而不是非常长的字符串查看结果可能更有用 . 只需添加| grep} | python -mjson.tool到curl命令的结尾这里有两个例子:
GET approach with JSON result
curl -i -H "Accept: application/json" http://someHostName/someEndpoint | grep }| python -mjson.tool
POST approach with JSON result
curl -X POST -H "Accept: Application/json" -H "Content-Type: application/json" http://someHostName/someEndpoint -d '{"id":"IDVALUE","name":"Mike"}' | grep }| python -mjson.tool
2 回答
GET:
使用JSON:
使用XML:
POST:
发布数据:
对于文件上传:
RESTful HTTP帖子:
用于登录站点(auth):
Pretty-printing the curl results:
对于JSON:
如果使用
npm
和nodejs
,则可以通过运行以下命令安装json
包:用法:
如果使用
pip
和python
,则可以通过运行以下命令安装pjson
package:用法:
如果您使用Python 2.6,json工具将捆绑在其中 .
用法:
如果使用
gem
和ruby
,则可以通过运行以下命令安装colorful_json
包:用法:
如果使用
apt-get
(Linux发行版的aptitude包管理器),则可以通过运行以下命令安装yajl-tools
包:用法:
对于XML:
如果你在Debian / Gnome环境中使用* nix,请安装
libxml2-utils
:用法:
或者安装
tidy
:用法:
Saving the curl response to a file
要么
有关curl命令的详细说明,请点击:
有关curl命令的选项/开关的详细信息,请执行以下操作:
我认为Amith Koujalgi是正确的,但是,如果Web服务响应是JSON,那么以干净的JSON格式而不是非常长的字符串查看结果可能更有用 . 只需添加| grep} | python -mjson.tool到curl命令的结尾这里有两个例子:
GET approach with JSON result
POST approach with JSON result