如何解决Shell脚本中向IP地址发送HTTP请求无响应的问题?
Shell脚本中curl IP地址无输出的排查方案
- 转义URL特殊字符:Shell里
?是通配符,会被错误解析,把整个URL用单引号包裹避免解析异常:curl 'http://1.1.1.1/api/1.do?1=1' - 查看请求详细过程:加
-v参数打印完整请求链路,排查是连接失败、服务器返回空还是被拦截:curl -v 'http://1.1.1.1/api/1.do?1=1' - 跟随重定向:部分服务器会把IP直连请求重定向到域名,加
-L参数自动跳转:curl -L 'http://1.1.1.1/api/1.do?1=1' - 添加Host头:如果目标服务器限制IP直连访问,需要带上对应服务的真实域名Host头(替换为实际域名):
curl -H "Host: your-target-domain.com" 'http://1.1.1.1/api/1.do?1=1' - 模拟浏览器请求:有些服务器会根据User-Agent返回不同内容,添加浏览器标识尝试:
curl -A "Mozilla/5.0" 'http://1.1.1.1/api/1.do?1=1'
内容的提问来源于stack exchange,提问作者Hulda Edison
相关产品推荐
相关产品推荐

