5

私の国では、多くのWebサイトが検閲されてブロックされ、代わりに特定のページにリダイレクトされます。彼らがこれを正確にどのように行っているのかわかりません。しかし、すべてをロードせずにWebサイトブロックされているか、ブロックされていないかをプログラムで判断することは可能ですか?これを実行したい理由は、Web検索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でこれを行う方法があるとよいでしょう。

私はどんな助けやアイデアにも感謝します。

4

1 に答える 1

3

これは、PHPとPythonの両方で完全に可能であるはずです。基本的には、問題のサイトにhttpリクエストを発行してから、返される応答を分析する必要があります。PHPのcURLまたはPythonのPycurlを見て、これらのhttpリクエストを発行する方法と応答を処理する方法を整理してください。

応答が返ってきたら、ブロックされたサイトの信頼できるパターンとパターンを照合するだけです。<body><iframe src="http://10.10.34.34?type=Invalid Site私の最初の推測では、応答内を探すことができますが、ブロックされたページをさらにチェックして、すべてにその文字列が含まれているかどうかを確認する必要があります。たとえば、IPまたはタイプのクエリ文字列パラメータがブロックされたサイトごとに異なる場合は、チェックを特定の正規表現に拡張する必要が生じる可能性があります。

于 2012-05-15T13:28:11.917 に答える