如何从公共代理列表验证 Http 代理服务器?

网络工程 网络
2022-02-21 03:13:06

我正在尝试使用身份隐藏/代理服务器进行一些自动浏览。

可以找到一些启动并运行 http 代理服务器的公共列表。

我正在尝试通过 http 代理服务器实例化 selenium Web 驱动程序实例。到目前为止,我一直没有成功,所以我想确保我从公共列表(例如this)获得的这些代理服务器确实在工作。

我怎么做 ?

我对他们执行 ping 操作,但没有得到响应(超时)。但是,对于他们中的一些人在我的浏览器中为其 ip 发起请求,它会返回一些内容(例如,Windows Server IIS 页面)。其他人返回 connection_reset 错误/超时。

2个回答

Ping 使用许多站点阻止的 ICMP。浏览使用在 TCP 上运行的 HTTP/HTTPS。使用一个协议来查看另一个协议是否正在运行是行不通的。许多事物都会响应 ICMP ping,但它们没有运行 Web 服务器,因此您无法浏览它们。反之亦然。

如果要确定主机上是否正在运行 HTTP/HTTPS,则需要使用 HTTP/HTTPS 进行测试。

正如 Ron 已经指出的那样,您需要通过 http(s) 而不是 ICMP 来验证代理服务器。超越简单的端口探测(服务器 XY 是否在 tcp 端口 8080 上侦听?)将是最好的解决方案。您应该使用脚本来检查服务器是否可以用作代理以及响应时间是否正常。

示例(通常用于监控目的): https ://exchange.nagios.org/directory/Plugins/Network-Protocols/HTTP/check_http_proxy/details