Linux安裝、使用curl進行Get、Post接口調試

一、linux中如何安裝Curl,步驟如下:

1.下載

wget  http://curl.haxx.se/download/curl-7.38.0.tar.gz

注意:

如果命令執行失敗,請使用瀏覽器打開鏈接進行下載,然後在Linux上使用“rz”命令上傳用瀏覽器下載好的文件,再執行下面的步驟。


2.解壓

tar -xzvf curl-7.38.0.tar.gz

3.安裝

cd curl-7.38.0

./configure

make

make install

4.完成



二、linux中使用Curl發起Get、Post請求:


Windows/mac環境上有很多接口測試的工具,如soapui、postman等,但這些工具在linux平臺上使用起來相對不那麼便捷。

    有時候當我們要測試一些外部接口時,當本地無權調用測試路徑時,需要將測試建立在linux平臺,除了封裝簡單的請求代碼進行實現外,可通過curl工具實現

1、測試get請求

$ curl http://www.linuxidc.com/login.cgi?user=test001&password=123456

2、測試post請求

$ curl -d "user=nickwolfe&password=12345" http://www.linuxidc.com/login.cgi

3、xml格式post請求

接口如下:


請求方式:

方式一:發送磁盤上面的xml文件(推薦)

[plain] view plain copy

  1. root [ /apps ]$ curl -X POST -H 'content-type: application/xml'  -d @/apps/myxmlfile.txt http://172.19.219.xx:8081/csp/faq/actDiaUserInfo.action  

ps:其中myxmlfile.txt爲磁盤上面的xml文件,後面爲請求路徑






方式二:在命令行直接發送xml結構數據

[plain] view plain copy

  1. root [ /apps ]$ curl -H 'content-type: application/xml' -X POST -d '<?xml version="1.0" encoding="UTF-8"?><userinfoReq><subsNumber>13814528620</subsNumber><type>3</type></userinfoReq>' http://172.19.219.xx:8081/csp/faq/actDiaUserInfo.action  

或者


[plain] view plain copy

  1. root [ /apps ]$ echo '<?xml version="1.0" encoding="UTF-8"?><userinfoReq><subsNumber>13814528620</subsNumber><type>3</type></userinfoReq>'|curl -X POST -H'Content-type:text/xm' -d @- http://172.19.xx.xx:8081/csp/faq/actDiaUserInfo.action  


ps:其中<?xml version...>就是要post的xml 文件,後面是請求路徑,linux上雙引號或單引號之間嵌套需要使用反斜槓 \ 進行轉義

響應消息:

[plain] view plain copy

  1. <?xml version="1.0" encoding="utf-8"?><result><result_code>0</result_code><result_text>success</result_text><getUserinfoRsp><userInfo><identityID>1117384802</identityID><phone>13814528620</phone><email>[email protected]</email><accountID></accountID><province>江蘇</province><city>南京</city><passId>7775637869243</passId></userInfo></getUserinfoRsp></result>  

4、json格式post請求

接口如下:

請求消息:

方式一:發送磁盤上面的JSON文件(推薦)

[plain] view plain copy

  1. root [ /apps ]$ curl -X POST -H 'content-type: application/json'  -d @/apps/myjsonfile.txt http://192.168.129.xx/AntiRushServer/api/ActivityAntiRush  

ps:其中myjsonfile.txt爲磁盤上面的JSON文件,後面爲請求路徑

方式二:在命令行直接發送JSON結構數據

[plain] view plain copy

  1. root [ ~ ]$ curl -H 'content-type: application/json' -X POST -d '{"accountType":"4","channel":"1","channelId":"YW_MMY","uid":"13154897541","phoneNumber":"13154897541","loginSource":"3","loginType":"1","userIp":"192.168.2.3","postTime":"14633fffffffffff81286","userAgent":"Windows NT","imei":"352600051025733","macAddress":"40:92:d4:cb:46:43","serialNumber":"123"}' http://192.168.129.xx/AntiRushServer/api/ActivityAntiRush  

響應消息:

[plain] view plain copy

  1. {"code":"4000","message":"參數錯誤:time的值不是UInt"}  




參考文章:

http://blog.csdn.net/russ44/article/details/53308838    

http://blog.csdn.net/makenothing/article/details/39250491

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章