【问题标题】:Query String URL without access to destination page查询字符串 URL 而不访问目标页面
【发布时间】:2014-07-15 11:19:19
【问题描述】:

我正在尝试通过查询字符串在 .NET 页面 (.aspx) 上自动填充 HTML 表单的字段。

我尝试过使用:

www.destinationpage.com/login.aspx?FieldName1=something&FieldName2=something

但是什么也没发生。我被告知我有正确的字段名称。这是因为我需要在表单方面做一个请求吗?我无权访问此页面。

由于敏感原因,我无法提供链接。

还有其他解决方案可以自动填充 .NET 页面的用户名和密码吗?我正在尝试通过桌面上的链接或快捷方式执行此操作。

【问题讨论】:

  • 查询字符串不会神奇地填充页面上的字段。需要对页面进行编码以从查询字符串中读取值并将字段的值设置为查询字符串中的值。
  • 无论提供什么解决方案,都需要网站的开发者提供。或者,您可以使用 Auto Hot KeyAutoIT 之类的脚本程序来填写值。他们会启动脚本,脚本会打开一个浏览器窗口,然后填写相应的字段。
  • 感谢 vcsjones 和 mason,我有一种感觉,必须从查询字符串中专门调用它们,并且您不能注入它们。我正在使用 VB 脚本来希望做需要的事情。一旦我得到它的工作,我会在这里发布它作为答案。

标签: asp.net .net url query-string


【解决方案1】:

正如 cmets 中所说,如果无法访问目标页面以从查询字符串中提取,这是不可能的(当然,除非我们知道该页面已经从查询字符串中提取并且我们知道值的名称)。

就我而言,我没有。

为了自动登录,我最终使用了 Visual Basic 脚本。只需打开记事本,复制和粘贴,更改字段以满足您的需要并另存为。保存时选择所有文件作为文件保存类型并将 .vbs 附加到文件名。示例 loginscript.vbs

我使用的脚本(用 ' 标记的 cmets):

'Launch IE to the website
Set IE = CreateObject("InternetExplorer.Application")
IE.navigate "http:puttheloginpagehere.com"
IE.Visible = True

'delay to allow load
While IE.Busy
    WScript.Sleep 50
Wend

'fill out form with the username, password and click login
ie.Document.all.Item("ADDUSERNAMEFILEDIDHERE").Value = "username"
ie.Document.all.Item("ADDPASSWORDFIELDNAMEHERE").Value = "password"
ie.Document.all.Item("ADDBUTTONIDHERE").Click

要获取两个字段和按钮的 ID,使用 Firefox,右键单击字段或按钮并选择“检查元素”。然后您应该能够在检查器区域中看到“ID”。

双击运行,瞧!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-07
    • 2014-01-06
    • 2012-06-13
    • 1970-01-01
    相关资源
    最近更新 更多