【发布时间】:2014-01-24 20:26:13
【问题描述】:
我有一个应用程序需要在默认 Web 浏览器上打开一个外部 URL,但我不想在 URL 上显示参数,所以我认为我需要进行 POST 而不是 GET,但是如何?
我正在使用以下代码打开外部默认浏览器
Friend Sub WebOpen(ByVal WebAddress As String)
Dim sInfo As New ProcessStartInfo(WebAddress)
Process.Start(sInfo)
End Sub
但这会暴露 URL 栏上的所有参数,因为生成的是 GET 而不是 POST。
解决方案: 制作一个临时的 HTML 文件并使用前面的代码打开它(WebOpen(ByVal WebAddress As String))
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -->
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<!-- <head>
</head> -->
<body>
<form name="Login" method="post" action="http://www.yourWebPage.com/" target="_self">
<input id="accountLoginField" class="textInput" name="account" value="accountX" size="24"
maxlength="32" type="hidden"/>
<input id="userLoginField" class="textInput" name="user" value="userX" size="24"
maxlength="32" type="hidden"/>
<input class="textInput" name="password" value="PassX" size="24" maxlength="32" type="hidden"/>
<input name="submit" value="Start Session" type="submit" id="btn" style="color: transparent;
background-color: transparent; border-color: transparent; cursor: default;"/>
<script type="text/javascript">
<!--
var counter = 0;
var maxCount = 50;
function pushSubmit() {
if (counter++ < maxCount) {
document.getElementById('btn').click();
}
}
//start the process
window.setTimeout(pushSubmit(), 30);
</script>
</form>
</body>
</html>
【问题讨论】:
-
你要找的答案在这个页面上:StackOverflow
-
好的,感谢您的信息,现在我有一个带有按钮的 HTML 文件,它可以正常工作。当 HTML 文件打开时,有什么方法可以使该按钮自动单击?
-
HTML 文件或 windows 窗体中的按钮?
-
在 HTML 中,但我已经解决了阅读此论坛中的其他帖子,另外我也制作了隐形按钮。我应该将代码(解决方案)添加到原始帖子吗?
-
是的,这对其他人会有帮助,如果您可以将我的帖子标记为答案,那就太好了。谢谢!