我正在做一个小软件,它使用谷歌搜索来显示桌面软件中的人的结果。
用户输入显示在列表框中的关键字和搜索结果。 到目前为止,我没有问题。
我的实际问题是google会阻止我的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和请求? 我错过了一些属性吗?
这里的想法是让谷歌认为我是一个人而不是机器人