curl命令中處理中文


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM