デスクトップソフトウェアで人々の結果を表示するためにGoogle検索を使用する小さなソフトウェアを実行しています。
ユーザーがキーワードを入力すると、検索結果がリスト ボックスに表示されます。これまでのところ、問題はありません。
私の実際の問題は、Googleが私のIPアドレスを検索からブロックすることがあり、一定の時間待たなければならず、検索が正常に行われることです。
ところで、Google がソフトウェアで私の IP アドレスをブロックしている間、私はまだ Web ブラウザで Google を使用できます。
通常、私が得ているエラーメッセージは次のとおりです。
The remote server returned an error: (503) Server Unavailable.
そして、これが私がグーグルを検索するために使用している方法です:
private string PROCESS_URL(string url)
{
HttpWebRequest request1 = (HttpWebRequest)WebRequest.Create(url);
request1.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11";
request1.Proxy = new WebProxy("xx.xx.xx.xx:xx"); // << my proxy address : port
HttpWebResponse response1 = (HttpWebResponse)request1.GetResponse();
StreamReader sr1 = new StreamReader(response1.GetResponseStream(), Encoding.UTF8);
string page_source1 = sr1.ReadToEnd();
return page_source1;
}
私は何を考慮すべきですか?多分私はリクエストと一緒にクッキーを送信する必要がありますか? いくつかの属性がありませんか?
ここでのアイデアは、Google に私がボットではなく人間であると認識させることです。