我使用以下代码发布querystring
string URI = "http://somewebsite.com/default.aspx";
string myParameters = "param1=value1¶m2=value2¶m3=value3";
using (WebClient wc = new WebClient())
{
wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
string HtmlResult = wc.UploadString(URI, myParameters);
}
但不知何故default.aspx
不接受该帖后调用。
关键是当我在浏览器中手动转到http://somewebsite.com/default.aspx
所有代码时,工作正常。
我的问题是关注我在这里丢失的内容,以便在我使用 WebClient 进行手动打开页面时归档相同的结果?
提前谢谢!
P.S。 1
我只是尝试对该URL使用GET方法,它也没有效果。这怎么可能? 手动导航到页面和发送GET / POST有什么区别?
P.S。 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)";
Default.aspx 的和加载事件未提示。 :(
答案 0 :(得分:0)
根据您对要实现的内容的描述,我认为您可能选择了错误的WebClient
方法。而不是UploadString
,请尝试DownloadString
:
using (WebClient wc = new WebClient())
{
string HtmlResult = wc.DownloadString("http://somewebsite.com/default.aspx?param1=value1¶m2=value2¶m3=value3");
}
答案 1 :(得分:0)
这样评论是正确的
“手动导航到页面和发送之间有什么区别 GET / POST?“ - 请亲自看看,例如使用Fiddler。 - CodeCaster
我检查了Fiddler的所有请求,发现有基页类的代码重定向到Index页面。所以Load事件永远不会发生。