以编程方式检查网站重定向
在我的国家,许多网站会被审查和封锁,并被重定向到某个页面。 我不知道他们究竟是怎么做到的。 但是,是否有可能以编程方式确定一个网站是否被阻止或没有加载整个东西没有被阻止? 我想这样做的原因是使用网络搜索API(也许是Google的),并创建一个只带来未被阻止的结果的Web服务。
如果有帮助,则加载的页面内容如下所示:
<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1256"><title>M3-5
</title></head><body><iframe src="http://10.10.34.34?type=Invalid Site&policy=MainPolicy " style="width: 100%; height: 100%" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" vspace="0" hspace="0"></iframe></body></html>
我了解运行该服务的服务器必须拥有我的国家的IP。
如果有一种方法可以在PHP或Python中执行此操作,那将是最好的。
我感谢任何帮助或想法。
这在PHP和Python中都应该完全可行。 基本上,您想要向有问题的网站发出http请求,然后分析您回复的响应。 看看PHP的cURL或Python的Pycurl,以了解如何发布这些http请求以及如何处理响应。
一旦你有回应,这只是一个匹配的模式与阻止网站一些可靠的模式。 我的第一个猜测是,你可以在响应中寻找<body><iframe src="http://10.10.34.34?type=Invalid Site
,但是你必须检查更多的阻止页面,看看它们是否都包含该字符串。例如,如果IP或类型查询字符串参数在一个阻塞站点和另一个阻塞站点之间有所不同,您最终可能需要将检查扩展为特定的正则表达式。