You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 11:17:31