網絡調試常用curl命令

涉及到網絡編程時,curl就是一個超好的工具,可以測試驗證很多case,發現問題。

一些常用選項。

-k   忽略ssl/tsl證書認證錯誤

-X POST/GET 指定方法

-H 設置請求頭 -H "cookie: sess=xyabcdzilkll-",這個選項應該是最常用的之一

--resolve  從指定的dns cache設置中解析host對應的ip地址, --resolve "mysite.com:443:127.0.0.1"

-d  --data  POST請求帶的數據   -d "phone=19912345433&password=xyzdf3dfkldfa="

-p --proxy 代理,比如開了fiddler、charles之類的抓包工具,想看下發出去的數據,可以設置  -p "127.0.0.1:8888"

-o  設置輸出文件

fiddler抓包工具可以將請求導出爲一個腳本,可以將一個請求保存下來長期使用測試,也可以按需修改一些參數進行測試,驗證一些想法,這樣就很方便進行網絡調試。

charles做爲一個fiddler的alternative,在易用程度上要差一些,比如要看https請求的內容,還需要手動把ip/host加入到設置中,纔會進行ssl/tsl的解析,然後才能看具體請求的完整內容。而且還收費。

wireshark功能更強大,不過看https的數據有些麻煩,不是很好過濾,貌似是用tcp.dstPort=443來搞。可以通過請求中的字符串進行搜索,這點很贊。不能攔截請求、修改回覆,不夠完美。

不過要注意直接運行腳本是好的,複製粘貼到shell中可能就不行,因爲文件的編碼的是utf8,而命令行可能就是gbk了。

在一些場景下,可能需要curl庫來實現某些需求,比如http dns,就需要用到curl的resolve功能。

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