0

我正在做一个小软件,它使用谷歌搜索在桌面软件中为人们显示结果。

用户输入关键字,搜索结果显示在列表框中。到目前为止,我对此没有任何问题。

我的实际问题是有时谷歌会阻止我的 IP 地址搜索,我必须等待一段时间才能正常搜索。

顺便说一句,虽然谷歌在软件中阻止了我的 IP 地址,但我仍然可以在网络浏览器中使用谷歌,很奇怪吧?

通常,我收到的错误消息是:

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;
    }

知道我应该考虑什么吗?也许我需要连同请求一起发送 cookie?我错过了一些属性吗?

那么这里的想法是让谷歌认为我是人而不是机器人

4

0 回答 0