Ran*_*esh 348 linux curl web-services
我在Windows上用ASP.NET编写了一个服务器应用程序,它提供了一个Web服务.
如何使用cURL在Linux中调用Web服务?
Ami*_*lgi 681
*nix提供了一个很好的小命令,使我们的生活更轻松.
得到:
使用JSON:
curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET http://hostname/resource
Run Code Online (Sandbox Code Playgroud)
使用XML:
curl -H "Accept: application/xml" -H "Content-Type: application/xml" -X GET http://hostname/resource
Run Code Online (Sandbox Code Playgroud)
POST:
用于发布数据:
curl --data "param1=value1¶m2=value2" http://hostname/resource
Run Code Online (Sandbox Code Playgroud)
对于文件上传:
curl --form "fileupload=@filename.txt" http://hostname/resource
Run Code Online (Sandbox Code Playgroud)
RESTful HTTP帖子:
curl -X POST -d @filename http://hostname/resource
Run Code Online (Sandbox Code Playgroud)
用于登录站点(auth):
curl -d "username=admin&password=admin&submit=Login" --dump-header headers http://localhost/Login
curl -L -b headers http://localhost/
Run Code Online (Sandbox Code Playgroud)
漂亮印刷卷曲结果:
对于JSON:
如果使用npm和nodejs,则可以json通过运行以下命令来安装软件包:
npm install -g json
Run Code Online (Sandbox Code Playgroud)
用法:
curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET http://hostname/resource | json
Run Code Online (Sandbox Code Playgroud)
如果使用pip和python,则可以pjson通过运行以下命令来安装软件包:
pip install pjson
Run Code Online (Sandbox Code Playgroud)
用法:
curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET http://hostname/resource | pjson
Run Code Online (Sandbox Code Playgroud)
如果您使用Python 2.6+,json工具将捆绑在其中.
用法:
curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET http://hostname/resource | python -m json.tool
Run Code Online (Sandbox Code Playgroud)
如果使用gem和ruby,则可以colorful_json通过运行以下命令来安装软件包:
gem install colorful_json
Run Code Online (Sandbox Code Playgroud)
用法:
curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET http://hostname/resource | cjson
Run Code Online (Sandbox Code Playgroud)
如果您使用apt-get(Linux发行版的aptitude包管理器),则可以yajl-tools通过运行以下命令来安装包:
sudo apt-get install yajl-tools
Run Code Online (Sandbox Code Playgroud)
用法:
curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET http://hostname/resource | json_reformat
Run Code Online (Sandbox Code Playgroud)
对于XML:
如果你在Debian/Gnome环境中使用*nix,请安装libxml2-utils:
sudo apt-get install libxml2-utils
Run Code Online (Sandbox Code Playgroud)
用法:
curl -H "Accept: application/xml" -H "Content-Type: application/xml" -X GET http://hostname/resource | xmllint --format -
Run Code Online (Sandbox Code Playgroud)
或安装tidy:
sudo apt-get install tidy
Run Code Online (Sandbox Code Playgroud)
用法:
curl -H "Accept: application/xml" -H "Content-Type: application/xml" -X GET http://hostname/resource | tidy -xml -i -
Run Code Online (Sandbox Code Playgroud)
将curl响应保存到文件
curl http://hostname/resource >> /path/to/your/file
Run Code Online (Sandbox Code Playgroud)
要么
curl http://hostname/resource -o /path/to/your/file
Run Code Online (Sandbox Code Playgroud)
有关curl命令的详细说明,请点击:
man curl
Run Code Online (Sandbox Code Playgroud)
有关curl命令的选项/开关的详细信息,请执行以下操作:
curl -h
Run Code Online (Sandbox Code Playgroud)
gre*_*pit 50
我认为Amith Koujalgi是正确的,但是,如果Web服务响应是JSON,那么以干净的JSON格式而不是非常长的字符串查看结果可能更有用.只需添加| grep} | python -mjson.tool到curl命令的结尾这里有两个例子:
使用JSON结果获取GET方法
curl -i -H "Accept: application/json" http://someHostName/someEndpoint | grep }| python -mjson.tool
Run Code Online (Sandbox Code Playgroud)
使用JSON结果的POST方法
curl -X POST -H "Accept: Application/json" -H "Content-Type: application/json" http://someHostName/someEndpoint -d '{"id":"IDVALUE","name":"Mike"}' | grep }| python -mjson.tool
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
920536 次 |
| 最近记录: |