shell中使用curl时,数据为乱码的解决方法,以及一些参数的解释

32 篇文章 1 订阅
11 篇文章 0 订阅

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值