C# Web客户端上载值
我想制作一个在文本框中输入值并执行按钮操作的桌面应用程序,例如,在google.com上设计一个在google搜索框中输入值的应用程序,并在任何人按下搜索按钮时执行操作。我编写了一个代码,但引发了异常。远程服务器返回了一个错误:(405)方法不允许C# Web客户端上载值,c#,webclient,web-crawler,C#,Webclient,Web Crawler,我想制作一个在文本框中输入值并执行按钮操作的桌面应用程序,例如,在google.com上设计一个在google搜索框中输入值的应用程序,并在任何人按下搜索按钮时执行操作。我编写了一个代码,但引发了异常。远程服务器返回了一个错误:(405)方法不允许 WebClient wc = new WebClient(); string uri = "http://google.com"; NameValueCollection nvc = new NameValueCollection(); nvc.
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);
UploadValues
正在尝试执行POST
(至少默认情况下,允许使用其他一些动词,但它们基本上仍将其视为正文有效负载)。听起来你只是想要一个像这样的GET
查询,所以只需要url encode“afnan”
。但是,请注意,您应始终遵守目标站点的–特别是第5节:
您明确同意不通过任何自动方式(包括使用脚本或网络爬虫)访问(或尝试访问)任何服务
如果你这样做,期待被列入黑名单。我很幸运得到了主持人的回答,谢谢你,先生。让我用谷歌搜索一下,我会在一些家庭作业后与你联系。对于我正在工作的网站,他们支持它。我的意思是,他们有joomla woerpress等的插件,他们允许这些操作。我已经在vs中创建了一个vs ASP.Net网站,默认模板是vs这是一个登录页面。我修改了上面的代码以登录到该页面,但我得到的响应是简单的数据,因为它是使用Ind webclient DownloadData下载的