Asp.net 在web窗体应用程序中创建web应用程序。尝试模拟post请求以下载文件
我正在尝试从c#代码向使用asp.net web窗体视图页的网页发出post请求。当我点击一个按钮,文件下载到我的电脑上,并试图用c#来完成时,我使用chrome开发工具来查看发送的内容。 我不知道web表单,但我了解到winforms post请求必须在请求正文中包含Asp.net 在web窗体应用程序中创建web应用程序。尝试模拟post请求以下载文件,asp.net,webforms,web-scraping,Asp.net,Webforms,Web Scraping,我正在尝试从c#代码向使用asp.net web窗体视图页的网页发出post请求。当我点击一个按钮,文件下载到我的电脑上,并试图用c#来完成时,我使用chrome开发工具来查看发送的内容。 我不知道web表单,但我了解到winforms post请求必须在请求正文中包含\uu ViewState隐藏字段,因此我尝试了该操作,但得到了异常:“无效URI:URI字符串太长。” var值=新字典 { {“ctl00$txtSearchProduct”,“”), {“ctl00$TextArea”,“”
\uu ViewState
隐藏字段,因此我尝试了该操作,但得到了异常:“无效URI:URI字符串太长。”
var值=新字典
{
{“ctl00$txtSearchProduct”,“”),
{“ctl00$TextArea”,“”},
{“ctl00$MainContent$chain”,“7290058179503”},//公司id
{“ctl00$MainContent$subChain”,“-1”},
{“ctl00$MainContent$branch”,“-1”},
{“ctl00$MainContent$txtDate”,“”),
{“ctl00$MainContent$fileType”,“all”},
{“_EVENTTARGET”,fileParam},
{EVENTARGUMENT',''},
{LASTFOCUS',''},
{“_VIEWSTATE”,VIEWSTATE},
};
//这里例外
var content2=新的FormUrlEncodedContent(值);
var response=wait client.PostAsync(BaseUrl,content2);
var values = new Dictionary<string, string>
{
{"ctl00$txtSearchProduct", ""},
{"ctl00$TextArea", ""},
{"ctl00$MainContent$chain", "7290058179503"}, //company id
{"ctl00$MainContent$subChain", "-1"},
{"ctl00$MainContent$branch", "-1"},
{"ctl00$MainContent$txtDate", ""},
{"ctl00$MainContent$fileType", "all"},
{"__EVENTTARGET", fileParam},
{"__EVENTARGUMENT", ""},
{"__LASTFOCUS", ""},
{"__VIEWSTATE", viewState},
};
//exception here
var content2 = new FormUrlEncodedContent(values);
var response = await client.PostAsync(BaseUrl, content2);