C#HttpRequest发布了一个URL

时间:2011-04-07 18:36:57

标签: c# httprequest url-parameters

我正在尝试使用HttpRequest发布此网址

https://www.iformbuilder.com/exzact/_emptyTable.php?PAGE_ID=1234&TABLE_NAME=table_name_here&USERNAME=yo@yo.com&PASSWORD=What!What

我尝试过使用

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#中做到这一点?任何帮助都是极好的!谢谢!

5 个答案:

答案 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
            }
        }