curl是linux平台下,通過url獲取數據的命令行工具。可以訪問http, https, ftp等等服務器。
curl https://xthread.cn
shell中會顯示html的內容。
如果想在url的查詢參數(query string)含有中文,則請求可能失敗,比如:
curl "http://localhost?q=關鍵字"
此時,http服務器接收到的q並不是“關鍵字”,而是一堆亂碼(/?q=ä½\xa0好)。
在http url中需要對unicode字符進行編碼(有相應的規范)。
比如“關鍵字”編碼為“%E5%85%B3%E9%94%AE%E5%AD%97”,正確的url如下:
curl "http://localhost?q=%E5%85%B3%E9%94%AE%E5%AD%97"
curl能不能幫我們自動進行轉碼呢?答案是可以的,如下:
curl -G "http://localhost" --data-urlencode=關鍵字
通過-G和--data-urlencode參數即可將查詢參數自動編碼,然后附加到url的查詢參數中。
參考:
[1] curl official site
