2014-01-24 63 views
0

我有一个应用程序需要在默认Web浏览器上打开外部URL,但我不想在URL上显示参数,所以我认为我需要一个POST而不是一个GET,但是如何?在默认Web浏览器上打开网页并隐藏URL参数

我用下面的代码打开外部的默认浏览器

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作为字符串))

<!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> 
+1

你正在寻找的答案是这样的页面: [StackOverflow上(http://stackoverflow.com/questions/1705201/how-to-open-ie-with-post-info-in-c ) –

+0

好的,感谢您的信息,现在我有一个HTML文件的按钮,它工作正常。有什么办法可以让HTML文件打开时自动点击该按钮? –

+0

HTML文件或Windows窗体中的按钮? –

回答

0

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

的Process.Start(解密( “encryptedstringhere”))

这会'隐藏'试图反编译代码的任何人的参数。 或 一旦你编译了你的可执行文件,找到一个vb.net混淆程序(只是谷歌它)和混淆你的exe文件。这会让nayone试图反编译它或找到你的参数中的字符串是不可读的......

希望这有帮助!

Rodit

+0

我不想混淆我的代码,我只想在默认Web浏览器中打开一个网页,隐藏参数以从用户登录到Web页面;这就是为什么我需要做一个POST而不是GET。但是,谢谢我会考虑到这一点,以防万一我需要。 –

相关问题