curl官网:
ref:https://curl.haxx.se/docs/manpage.html
常用的字符界面web 客户端
elinks --dump
curl -so /dev/null -w "%{time_total},%{time_namelookup},%{time_connect},%{time_pretransfer},%{time_redirect},%{time_starttransfer}\n" http://172.16.5.80:9081/ROOT/login.jsp
wget --http-user=admin --http-passwd=admin http://172.16.5.137:8161/admin/queues.jsp
curl获取状态码
curl -I -m 10 -o /dev/null -s -w %{http_code} news.ehomepay.com.cn
-I获取头文件
curl --connect-timeout 20 -m 20 -o /dev/null -s -w %{http_code} http://172.26.113.194/
--connect-timeout 20 最大连接时间 20s ,如果连接上后,时间不在计算
-m 20 最大执行时间 20秒 ,总共的连接时不能超过20秒
-o /dev/null 输出信息不显示
-s 安静输出模式
-w %{http_code} 只输出状态码
curl下载
curl --silent http://172.16.4.250/tools/ae_scan_linux.sh -o scan.sh
curl指定用户密码
curl -u username:pass http://www.xxx.com
curl -u read:passwd ftp://10.12.1.101
#curl通过 "@"参数进行上传文件 curl上传文件
curl --header "Content-Type: text/xml" --data-binary @$OUTPUTFILE "$protocol://$hostName:$portNo/discoveryServlet/WsDiscoveryServlet?COMPUTERNAME=$COMPUTERNAME"
#wget 通过--post-file进行上传文件
wget "$protocol://$hostName:$portNo/discoveryServlet/WsDiscoveryServlet?COMPUTERNAME=$COMPUTERNAME" --post-file=./$COMPUTERNAME.xml --header="Content-Type:text/xml" > /dev/null 2>&1
culr post 请求
注意& 是分隔符
特殊字符 需要转义 \
-d 接 post 参数
#curl http://172.16.4.134/sql_insert.php -d "user=user01&password=123123&ip=172.16.15.17&datetime=2014-09-30 16:53:00&system_load=22.31"
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
<body>
172.16.15.17 2014-09-30 16:53:00 22.31 xixi</body>
</head>
</html>
culr post 请求
curl -d 'userName=13141026305&userPwd=1U8JkB4USEpzmTjbZfq\/CQ\=\=&ck=744336c7F0c8a4c0D386246990c37b51' http://10.35.13.103:8080/ROOT/login
curl重启comm 定期重启comm
curl -d "patch_number=common&system=new_online_restart" ttp://172.16.4.134/update_ol/do_ol_publish.php
curl_QA
##################################################
curl访问web服务状态码为000
1.如果是有时候返回200,有时候返回000,原因可能是超时时间设置的太短了,导致超时,所以返回状态码为000
解决方式:
就是延长超时时间-m 50 。
curl -k -I -m 50 -o /dev/null -s -w "%{http_code} %{time_total}" https://www.ehomepay.com.cn
2.curl访问不信任的https
curl通过https访问内网服务器的时候,会出现不信任证书的情况,导致直接返回状态码为000,解决方式添加:
-k/--insecure
(SSL) This option explicitly allows curl to perform "insecure" SSL connections and transfers. All
SSL connections are attempted to be made secure by using the CA certificate bundle installed by
default. This makes all connections considered "insecure" to fail unless -k/--insecure is used.
If this option is used twice, the second time will again disable it.
curl -k -I -m 50 -o /dev/null -s -w "%{http_code} %{time_total}" https://10.12.8.21
##################################################
wget 下载https文件的时候需要添加 --no-check-certificate
但是此处下载还是报错。
[root@RNp-Git01 ~]# wget --no-check-certificate https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.0.7.tgz
--2015-11-13 13:03:23-- https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.0.7.tgz
Resolving fastdl.mongodb.org... 54.230.124.82, 54.230.124.117, 54.230.124.81, ...
Connecting to fastdl.mongodb.org|54.230.124.82|:443... connected.
OpenSSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Unable to establish SSL connection.
解决方式
通过curl下载https,curl下载的时候提示不支持https,可以添加如下参数 https下载
curl -O -L https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.0.7.tgz
##################################################
此处是网上发现的,感觉很不错,特此推荐
#########################################################
设置curl的输出格式,输出标准化的日志格式
# cat curl-format.txt
\n
time_namelookup: %{time_namelookup}\n
time_connect: %{time_connect}\n
time_appconnect: %{time_appconnect}\n
time_pretransfer: %{time_pretransfer}\n
time_redirect: %{time_redirect}\n
time_starttransfer: %{time_starttransfer}\n
----------\n
time_total: %{time_total}\n
\n
# curl -w "@curl-format.txt" -o /dev/null -s https://www.ehomepay.com.cn
time_namelookup: 0.003
time_connect: 0.005
time_appconnect: 0.128
time_pretransfer: 0.128
time_redirect: 0.000
time_starttransfer: 1.950
----------
time_total: 1.960
ref:https://curl.haxx.se/docs/manpage.html
常用的字符界面web 客户端
elinks --dump
curl -so /dev/null -w "%{time_total},%{time_namelookup},%{time_connect},%{time_pretransfer},%{time_redirect},%{time_starttransfer}\n" http://172.16.5.80:9081/ROOT/login.jsp
wget --http-user=admin --http-passwd=admin http://172.16.5.137:8161/admin/queues.jsp
curl获取状态码
curl -I -m 10 -o /dev/null -s -w %{http_code} news.ehomepay.com.cn
-I获取头文件
curl --connect-timeout 20 -m 20 -o /dev/null -s -w %{http_code} http://172.26.113.194/
--connect-timeout 20 最大连接时间 20s ,如果连接上后,时间不在计算
-m 20 最大执行时间 20秒 ,总共的连接时不能超过20秒
-o /dev/null 输出信息不显示
-s 安静输出模式
-w %{http_code} 只输出状态码
curl下载
curl --silent http://172.16.4.250/tools/ae_scan_linux.sh -o scan.sh
curl指定用户密码
curl -u username:pass http://www.xxx.com
curl -u read:passwd ftp://10.12.1.101
#curl通过 "@"参数进行上传文件 curl上传文件
curl --header "Content-Type: text/xml" --data-binary @$OUTPUTFILE "$protocol://$hostName:$portNo/discoveryServlet/WsDiscoveryServlet?COMPUTERNAME=$COMPUTERNAME"
#wget 通过--post-file进行上传文件
wget "$protocol://$hostName:$portNo/discoveryServlet/WsDiscoveryServlet?COMPUTERNAME=$COMPUTERNAME" --post-file=./$COMPUTERNAME.xml --header="Content-Type:text/xml" > /dev/null 2>&1
culr post 请求
注意& 是分隔符
特殊字符 需要转义 \
-d 接 post 参数
#curl http://172.16.4.134/sql_insert.php -d "user=user01&password=123123&ip=172.16.15.17&datetime=2014-09-30 16:53:00&system_load=22.31"
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
<body>
172.16.15.17 2014-09-30 16:53:00 22.31 xixi</body>
</head>
</html>
culr post 请求
curl -d 'userName=13141026305&userPwd=1U8JkB4USEpzmTjbZfq\/CQ\=\=&ck=744336c7F0c8a4c0D386246990c37b51' http://10.35.13.103:8080/ROOT/login
curl重启comm 定期重启comm
curl -d "patch_number=common&system=new_online_restart" ttp://172.16.4.134/update_ol/do_ol_publish.php
curl_QA
##################################################
curl访问web服务状态码为000
1.如果是有时候返回200,有时候返回000,原因可能是超时时间设置的太短了,导致超时,所以返回状态码为000
解决方式:
就是延长超时时间-m 50 。
curl -k -I -m 50 -o /dev/null -s -w "%{http_code} %{time_total}" https://www.ehomepay.com.cn
2.curl访问不信任的https
curl通过https访问内网服务器的时候,会出现不信任证书的情况,导致直接返回状态码为000,解决方式添加:
-k/--insecure
(SSL) This option explicitly allows curl to perform "insecure" SSL connections and transfers. All
SSL connections are attempted to be made secure by using the CA certificate bundle installed by
default. This makes all connections considered "insecure" to fail unless -k/--insecure is used.
If this option is used twice, the second time will again disable it.
curl -k -I -m 50 -o /dev/null -s -w "%{http_code} %{time_total}" https://10.12.8.21
##################################################
wget 下载https文件的时候需要添加 --no-check-certificate
但是此处下载还是报错。
[root@RNp-Git01 ~]# wget --no-check-certificate https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.0.7.tgz
--2015-11-13 13:03:23-- https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.0.7.tgz
Resolving fastdl.mongodb.org... 54.230.124.82, 54.230.124.117, 54.230.124.81, ...
Connecting to fastdl.mongodb.org|54.230.124.82|:443... connected.
OpenSSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Unable to establish SSL connection.
解决方式
通过curl下载https,curl下载的时候提示不支持https,可以添加如下参数 https下载
curl -O -L https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.0.7.tgz
##################################################
此处是网上发现的,感觉很不错,特此推荐
#########################################################
设置curl的输出格式,输出标准化的日志格式
# cat curl-format.txt
\n
time_namelookup: %{time_namelookup}\n
time_connect: %{time_connect}\n
time_appconnect: %{time_appconnect}\n
time_pretransfer: %{time_pretransfer}\n
time_redirect: %{time_redirect}\n
time_starttransfer: %{time_starttransfer}\n
----------\n
time_total: %{time_total}\n
\n
# curl -w "@curl-format.txt" -o /dev/null -s https://www.ehomepay.com.cn
time_namelookup: 0.003
time_connect: 0.005
time_appconnect: 0.128
time_pretransfer: 0.128
time_redirect: 0.000
time_starttransfer: 1.950
----------
time_total: 1.960