如何以编程方式发送GET/POST请求到简单的ASPX页面

本文关键字:请求 简单 页面 ASPX POST 编程 方式发 GET | 更新日期: 2023-09-27 18:18:12

我使用以下代码发布querystring

string URI = "http://somewebsite.com/default.aspx";
string myParameters = "param1=value1&param2=value2&param3=value3";
using (WebClient wc = new WebClient())
{
   wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
   string HtmlResult = wc.UploadString(URI, myParameters);
}

但是default.aspx不接受这个post call。

关键是当我在浏览器中手动转到http://somewebsite.com/default.aspx时,所有代码都工作正常。

我的问题是以下我在这里缺少什么存档相同的结果,当我手动打开页面,因为我做它与WebClient?

提前感谢!

注:1

我只是试图使用GET方法到那个URL,它也没有效果。这怎么可能?手动导航到页面和发送GET/POST有什么区别?

注:2

我甚至试过这个

wc.Headers["Accept"] = "application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*";
            wc.Headers["User-Agent"] = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; MDDC)";

and LoadDefault的事件。aspx没有命中。(

如何以编程方式发送GET/POST请求到简单的ASPX页面

从你对你想要实现的东西的描述中,我认为你可能选择了错误的WebClient方法。不要用UploadString,试试DownloadString:

using (WebClient wc = new WebClient())
{
  string HtmlResult = wc.DownloadString("http://somewebsite.com/default.aspx?param1=value1&param2=value2&param3=value3");
}

这个注释是正确的

"手动导航到页面和发送的区别是什么?GET/POST ?"-自己看看,例如使用Fiddler。- - - - - -CodeCaster

我用Fiddler检查了所有请求,发现有基页类的代码重定向到索引页。所以Load事件从未发生过