我正在尝试使用HttpRequest发布此网址
我尝试过使用
WebClient rar = new WebClient();
rar.OpenReadAsync(new Uri(@"https://www.iformbuilder.com/exzact/_emptyTable.php?PAGE_ID=1234&TABLE_NAME=table_name_here&USERNAME=yo@yo.com&PASSWORD=What!What!"));
rar.DownloadStringAsync(new Uri(@"https://www.iformbuilder.com/exzact/_emptyTable.php?PAGE_ID=1234&TABLE_NAME=table_name_here&USERNAME=yo@yo.com&PASSWORD=What!What!"));
这是为了删除我们网站上的信息,但它没有采取。我正在关注此文档。 http://getsatisfaction.com/exzact/topics/how_can_we_delete_old_records_not_manually
他们声明我所要做的就是将正确的网址粘贴到网络浏览器中并按Enter键即可。我怎样才能在c#中做到这一点?任何帮助都是极好的!谢谢!
答案 0 :(得分:1)
使用WebClient.DownloadString代替DownloadStringAsync。 Async指示不阻止当前线程的异步方法。
答案 1 :(得分:0)
尝试在提交之前在WebClient中设置User-Agent标头,以查看是否可以解决问题。
rar.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)")
如果缺少User-Agent标头,很多Web服务器都会设置为忽略请求。
随后,您在此处使用HTTPS,因此您也需要设置ServicePointManager.ServerCertificateValidationCallback
。
答案 2 :(得分:0)
尝试使用System.Web类,例如:
HttpWebRequest req = null;
HttpWebResponse resp = null;
try
{
req = (HttpWebRequest)HttpWebRequest.Create(url); // enter your url
req.Method = "post";
resp = (HttpWebResponse)req.GetResponse();
}
catch (Exception)
{
throw;
}
这是post方法的示例,您可以使用这样的任何其他HTTP方法。检查documentation。
答案 3 :(得分:0)
这不是您问题的直接答案,但请查看Hammock for REST
答案 4 :(得分:0)
string uriString = @"https://www.iformbuilder.com/exzact/_emptyTable.php?PAGE_ID=1234&TABLE_NAME=table_name_here&USERNAME=yo@yo.com&PASSWORD=What!What!"; using (WebClient webClient = new WebClient { Encoding = Encoding.UTF8 }) { try { string content = webClient.DownloadString(uriString); //do stuff with the answer you got back from the site } catch (Exception exception) { //handle exceptions } }