antlabs/pcurl

不支持--compressed --insecure 参数

Closed this issue · 7 comments

--compressed 是gzip

--insecure 忽略不受信任的https证书

以下curl命令也是在chrome浏览器f12 copy curl 复制的

curl 'https://xx.cc/index.php?act=admin' -H 'Connection: keep-alive' -H 'Cache-Control: max-age=0' -H 'Upgrade-Insecure-Requests: 1' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/80.0.3987.87 Chrome/80.0.3987.87 Safari/537.36' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.9' -H 'Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7' -H 'Cookie: username=admin; token=b7ea3ec643e4ea4871dfe515c559d28bc0d23b6d9d6b22daf206f1de9aff13e51591323199; addinfo=%7B%22chkadmin%22%3A1%2C%22chkarticle%22%3A1%2C%22levelname%22%3A%22%5Cu7ba1%5Cu7406%5Cu5458%22%2C%22userid%22%3A%221%22%2C%22useralias%22%3A%22admin%22%7D; Hm_lvt_12d9f8f1740b76bb88c6691ea1672d8b=1589265192,1589341266,1589717172,1589769747; timezone=8' --compressed --insecure

加上这两个参数后 报panic:
error: Found argument '--compressed' which wasn't expected, or isn't valid in this context
For more information try --help

--insecure (缩写是-k) 这个参数也可以跳过不用处理, http.Client里可以设置(TLSClientConfig: &tls.Config{InsecureSkipVerify: true},)

我有一个相法就是,不支持的curl参数,不要panic, 用log.Info提示一下就行了,谢谢大佬。

我看下。

先支持compressed。忽略不支持的选项,我想下API怎么设计比较好。

--compressed 是gzip已经支持。
--insecure要修改到http.Client这个全局变量要好好设计下。

--compressed 是gzip已经支持。
--insecure要修改到http.Client这个全局变量要好好设计下。

可以这样修改http.Client全局的参数:
http.DefaultTransport.(*http.Transport).TLSClientConfig = &tls.Config{InsecureSkipVerify: true}

赞同,如果用户传递-k选项,就使用打开这个忽略选项。
为了区分出curl命令是否需要设置-k选项,可以这么设计。传递-k选项的使用一个专用的http.Client

var DefaultInsecureSkipVerify = http.Client{
     Transport: &http.Transport{
         TLSClientConfig:&tls.Config{InsecureSkipVerify: true}
            
     }, 
}

不传递-k就使用默认http.Client。

1.-k, insecure选项也支持。
2.如果遇到不支持的选项也不会panic。
把go.mod指向v0.0.4版本看下。
issue先关了。

1.-k, insecure选项也支持。
2.如果遇到不支持的选项也不会panic。
把go.mod指向v0.0.4版本看下。
issue先关了。

大佬牛比