在asp.net页面上自动提交表单
我想制作一个应用程序(在.Net中)来填写和提交表单(在asp.Net网站中) 这个应用程序应该阅读页面,找到字段(输入),提取我想要填写的字段的名称/id,然后将页面提交给服务器 我不想要一个拥有webbrowser控件并自动导航的应用程序强> 我拥有:我拥有下载html的部分,我拥有查找字段并提取其名称/ID的部分 我需要的是:一种将表单提交到服务器的方式(POST,而不是GET) 在页面的html上,提交是通过javascript完成的,如下所示:在asp.net页面上自动提交表单,asp.net,automation,winforms-to-web,Asp.net,Automation,Winforms To Web,我想制作一个应用程序(在.Net中)来填写和提交表单(在asp.Net网站中) 这个应用程序应该阅读页面,找到字段(输入),提取我想要填写的字段的名称/id,然后将页面提交给服务器 我不想要一个拥有webbrowser控件并自动导航的应用程序 我拥有:我拥有下载html的部分,我拥有查找字段并提取其名称/ID的部分 我需要的是:一种将表单提交到服务器的方式(POST,而不是GET) 在页面的html上,提交是通过javascript完成的,如下所示: javascript:WebForm_DoP
javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("Button1", "", true, "", "", false, false))
问题是:在这种情况下如何提交?您可以在页面加载后放入javascript,只需提交表单即可
document.forms[0].submit();
假设页面上只有一个表单,否则您可以在
forms[]
括号内用引号引上表单名称。您可以在页面加载后插入javascript以提交表单
document.forms[0].submit();
假设页面上只有一个表单,否则您可以在
forms[]
括号内用引号括起表单名称。您可以使用javascript提交:
<script type="text/javascript">
document.forms["your_form_id"].submit();
</script>
document.forms[“您的表单id”]。submit();
您可以使用javascript提交:
<script type="text/javascript">
document.forms["your_form_id"].submit();
</script>
document.forms[“您的表单id”]。submit();
您可以使用/objects向服务器发送/接收HTTP请求。得到响应后,查找要修改的各种输入
字段,并使用各种字段构建POST请求数据块,如
firstname=Joe&lastname=Doe&……
然后将此作为POST请求发送。您还需要构建一组适当的头文件,以模拟发送请求的真实浏览器,否则站点可能会拒绝正确处理请求
您可以使用Fiddler首先导航到站点并将请求保存在Firefox中,然后使用这些请求中的信息构建HttpWebRequest
对象
HttpWebRequest
在同步和异步模式下工作,因此您可以使用几行代码下载页面,也可以控制整个下载过程。您可以使用/objects向服务器发送/接收HTTP请求。得到响应后,查找要修改的各种输入
字段,并使用各种字段构建POST请求数据块,如
firstname=Joe&lastname=Doe&……
然后将此作为POST请求发送。您还需要构建一组适当的头文件,以模拟发送请求的真实浏览器,否则站点可能会拒绝正确处理请求
您可以使用Fiddler首先导航到站点并将请求保存在Firefox中,然后使用这些请求中的信息构建HttpWebRequest
对象
HttpWebRequest
在同步和异步模式下工作,因此您可以使用几行代码下载页面,也可以控制整个下载过程。我说的带有表单的页面不属于您的网站,并且您正在外部网站上阅读表单,对吗
如果你有所有的字段,难道你不能读取表单标签上的'action'属性,并使用你已经得到的所有键/值执行到同一位置的POST吗
您可以使用HttpWebRequest
在服务器端代码中执行此操作,并以这种方式发送POST数据
我说的带有表单的页面不属于您的网站,并且您正在外部网站上阅读表单,对吗 如果你有所有的字段,难道你不能读取表单标签上的'action'属性,并使用你已经得到的所有键/值执行到同一位置的POST吗 您可以使用
HttpWebRequest
在服务器端代码中执行此操作,并以这种方式发送POST数据
我将改为使用类来检索和发布数据@泽特·阿德:你知道吗。我会用这个类来检索和发布数据@泽特·艾迪:你知道吗,谢谢。我将尝试使用Fiddler,也许这将帮助我生成请求。@ZelterAdy Fiddler在顶部有请求块,它将提供Fiddler录制请求时浏览器随请求发送的所有标题。抓取头时,必须将它们添加到请求对象的头集合中,但其中一些不能添加为键/值对-这些必须设置为请求对象的属性。例如,
UserAgent
无法添加为标头-HttpWebRequest
具有必须设置的UserAgent字符串属性。谢谢。我将尝试使用Fiddler,也许这将帮助我生成请求。@ZelterAdy Fiddler在顶部有请求块,它将提供Fiddler录制请求时浏览器随请求发送的所有标题。抓取头时,必须将它们添加到请求对象的头集合中,但其中一些不能添加为键/值对-这些必须设置为请求对象的属性。例如,UserAgent
无法添加为标头-HttpWebRequest
具有必须设置的UserAgent字符串属性。我无法使用此属性。正如我所说的,我不使用浏览器来呈现代码,我只需要一个自动化工具来提交数据!我不能用这个。正如我所说的,我不使用浏览器来呈现代码,我只需要一个自动化工具来提交数据!