如何在ASP中创建含隐藏登录账号密码的本地表单?
解决方案:本地表单提交至ASP.NET登录页的问题修正
原代码的直接错误
你的表单标签缺少method属性,正确写法应为method="post",这是表单提交的必要属性。
核心问题:ASP.NET表单的状态验证字段
目标网站基于ASP.NET构建,登录请求必须携带ASP.NET自动生成的状态验证字段,否则服务器会拒绝登录请求。这些字段包括:
__VIEWSTATE__VIEWSTATEGENERATOR__EVENTVALIDATION
你需要先访问目标登录页,查看页面源码,找到这些字段的具体值。
修正后的完整表单代码
将获取到的状态字段值填入对应位置,示例如下:
<form method="post" action="https://ipindiaonline.gov.in/epatentfiling/user/frmloginNew1.aspx" id="Form1" autocomplete="off" target="_blank"> <!-- ASP.NET状态验证字段 --> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="你从登录页源码获取的VIEWSTATE值"> <input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="你从登录页源码获取的GENERATOR值"> <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="你从登录页源码获取的EVENTVALIDATION值"> <!-- 账号密码隐藏字段 --> <input name="TBUserName" type="hidden" id="TBUserName" value="你的USERID"> <input name="TBPassword" type="hidden" id="TBPassword" value="你的PASSWORD"> <!-- 提交按钮 --> <input type="submit" name="LnkSubmitLogin" value="Login" id="LnkSubmitLogin"> </form>
注意事项
- 上述状态字段的值会随页面刷新或会话过期而变化,每次使用前需要重新从目标登录页获取最新值,否则提交会失败。
- 部分网站可能会启用额外的反爬机制(如验证码、会话验证),如果遇到登录失败,需要检查是否有其他未包含的必要字段或验证步骤。
内容的提问来源于stack exchange,提问作者ipmban
相关产品推荐
相关产品推荐

