在使用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表示错误输出.把标准出错重定向到标准输出