我正在编写一个脚本,该脚本需要非常简短地抓取公共网站的 URL。我正在用 PHP 编写脚本,但我也从命令行进行了测试,并且存在同样的问题。
基本上,这是我得到的错误:
curl: (7) couldn't connect to host
我看了这个命令:
netstat -ac 5 |grep tcp
我可以看到 SYN_SENT 数据包出站(尽管它们似乎在端口 58047 上离开,即使我使用 cURL 指定了端口 80),但服务器从不响应 SYN_ACK。
使用浏览器,我可以很容易地查看相同的确切地址。
大约一周前,他们的服务器遭受了某种攻击,所以我不得不想象他们正在防火墙上丢弃我的数据包或使用 iptables,但我只是想发送一个请求。
我已经尝试发送一个浏览器代理字符串,我知道服务器会使用 cURL 进行响应,但唉,什么也没有。该脚本位于 AWS EC2 实例上。
就消除我的未知数而言,我什至不确定该怎么做。我不知道如何真正监控 TCP 流量,或者了解我所看到的内容,但我想弄清楚这一点。
有什么建议吗?
PS:我已经确认 cURL 工作正常。它完全没有任何麻烦地拉动了 google.com。