Afn*_*hir 2 c# webclient web-crawler
我想制作一个在文本框中输入值并执行按钮操作的桌面应用程序,例如设计一个在google.com的google搜索框中输入值并执行操作的应用程序,就像有人按下搜索按钮一样,我写了一个代码,但它抛出了异常远程服务器返回错误:(405)不允许的方法。
WebClient wc = new WebClient();
string uri = "http://google.com";
NameValueCollection nvc = new NameValueCollection();
nvc.Add("search", "afnan");
byte[] response = wc.UploadValues(uri, nvc);
textBox1.Text=Encoding.ASCII.GetString(response);
Run Code Online (Sandbox Code Playgroud)
UploadValues正在尝试执行操作POST(至少默认情况下;允许使用其他一些动词,但实际上它们仍将其视为主体有效负载)。这听起来像你只想要一个GET像查询http://www.google.com/search?q=afnan -所以只是URL编码"afnan"。但是请注意,您应始终遵守目标网站的条款和条件 -特别是第5节:
您明确同意不通过任何自动方式(包括使用脚本或网络爬网程序)访问(或尝试访问)任何服务。
如果执行此操作,则有望被列入黑名单。