【问题标题】:Opening web page on default Web browser and hiding URL parameters在默认 Web 浏览器上打开网页并隐藏 URL 参数
【发布时间】: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 中,但我已经解决了阅读此论坛中的其他帖子,另外我也制作了隐形按钮。我应该将代码(解决方案)添加到原始帖子吗?
  • 是的,这对其他人会有帮助,如果您可以将我的帖子标记为答案,那就太好了。谢谢!

标签: vb.net url post get hide


【解决方案1】:

希望您能够使用此处的旧帖子找到答案:How to open IE with post info in C#?

如果这有助于您解决问题,请将其标记为答案。

【讨论】:

    【解决方案2】:

    您可以在 vb.net 中使用字符串加密器(您必须自己找到),然后执行以下操作:

    Process.Start(Decrypt("encryptedstringhere"))

    这将对任何试图反编译您的代码的人“隐藏”参数。 或者 一旦你编译了你的可执行文件,找到一个 vb.net 混淆程序(只需谷歌它)并混淆你的 exe。这将使试图反编译它或查找参数中的字符串的人无法阅读......

    希望这有帮助!

    罗迪特

    【讨论】:

    • 我不是想混淆我的代码,我只是想在默认 Web 浏览器中打开一个网页,隐藏用户登录网页的参数;这就是为什么我需要做一个 POST 而不是 GET。但是谢谢,我会记住这一点,以防万一我需要。
    猜你喜欢
    • 1970-01-01
    • 2017-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-19
    • 1970-01-01
    • 2013-09-19
    相关资源
    最近更新 更多