shell中使用curl時,數據爲亂碼的解決方法,以及一些參數的解釋

在使用shell中的curl訪問baidu時,返回值爲亂碼,可通過|iconv -fgb2312 -t utf-8方式解決:

eg :

curl -v -m 10 -6 https://www.baidu.com|iconv -t gb2312 -f utf-8 2>&1


1> -v 會打印出curl的整個的debug信息

2> -m 是設置timeout信息,這裏設置的是10s

3> -6是指定通過baidu的ipv6地址訪問

4> iconv的使用方式:

    1. -f 輸入編碼

     2. -t 輸出編碼

    3. -l 列出所有已知的編碼

   4. -o 輸出文件

5> 2>&1

對於& 1 更準確的說應該是文件描述符 1,而1 一般代表的就是STDOUT_FILENO,實際上這個操作就是一個dup2(2)調用.他標準輸出到all_result ,然後複製標準輸出到文件描述符2(STDERR_FILENO),其後果就是文件描述符1和2指向同一個文件表項,也可以說錯誤的輸出被合併了.其中0 表示鍵盤輸入 1表示屏幕輸出 2表示錯誤輸出.把標準出錯重定向到標準輸出

發佈了66 篇原創文章 · 獲贊 34 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章