从一个host列表或者IP列表中对给定的URL进行遍历
发布时间:2020-12-15 07:15:32 所属栏目:安全 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 #! /bin/sh# 由于数组在shell函数中传递实在蛋疼,尤其是还包括其他参数时,所以干脆变量全部用全局变量random_v=$RANDOMtrap "rm -f /tmp/$$.$random_
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 #! /bin/sh # 由于数组在shell函数中传递实在蛋疼,尤其是还包括其他参数时,所以干脆变量全部用全局变量 random_v=$RANDOM trap "rm -f /tmp/$$.$random_v.http_code.out" EXIT function curl_url(){ url_line="http://$url_host/$line" /usr/bin/curl -s -o /dev/null --connect-timeout $time_out -m $time_out -w %{http_code} $url_line > /tmp/$$.$random_v.http_code.out return $? } function deal_url(){ error_status=7 n=0 max_fail=30 ips_length=${#ips[@]} url_host=${ips[$n]} cat $urls_txt | while read line; do curl_url if [ $? -eq $error_status ];then echo "当前IP:${url_host}无法连通,尝试下一个IP连接$line" if [ $n -lt $max_fail ];then n=$(( $n+1 )) visit_ip=$(( $n % $ips_length )) #应该使用哪一个ips数组下标 url_host=${ips[$visit_ip]} curl_url while [ $? -eq $error_status ] do echo "当前IP:${url_host}无法连通,尝试下一个IP连接$line" n=$(( $n+1 )) visit_ip=$(( $n % $ips_length )) url_host=${ips[$visit_ip]} if [ $n -ge $max_fail ];then echo "尝试次数达到最大值,放弃连接" exit fi curl_url done else echo "尝试次数达到最大值,放弃连接" exit fi fi echo "通过IP:${url_host}完成对${line}的访问,返回状态为$(cat /tmp/$$.$random_v.http_code.out)" done } work_dir='' cd $work_dir ips=( '10.12.12.11:8090' '10.12.12.12:8080' '10.12.12.13:8080' '10.12.12.14:8080' '10.12.12.15:8080' ) urls_txt="$work_dir/url.list" time_out=5 deal_url 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |