在使用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表示錯誤輸出.把標準出錯重定向到標準輸出