我想在WinForm应用程序的默认浏览器中使用我的应用程序打开URL.
然后发送一些数据作为HTTP POST方法而不是查询字符串.
现在的问题是,如果我想在我使用的默认浏览器中打开URL
这段代码:
然后发送一些数据作为HTTP POST方法而不是查询字符串.
现在的问题是,如果我想在我使用的默认浏览器中打开URL
这段代码:
Process.Start("http://www.ketabchin.com/sort)
但在此命令中,我无法将发布数据发送到该URL
然后我用这个代码:
Public Shared Function PostMessagetoURL(url As String) As String Dim request As WebRequest = WebRequest.Create("https://www.ketabchin.com/windows-logged") request.Method = "POST" Dim postData As String = "u=" & FrmMain.Username & "&p=" & FrmMain.Password & "&url=" & url Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postData) request.ContentType = "application/x-www-form-urlencoded" request.ContentLength = byteArray.Length Dim dataStream As Stream = request.GetRequestStream() dataStream.Write(byteArray,byteArray.Length) dataStream.Close() Dim response As WebResponse = request.GetResponse() Console.WriteLine(CType(response,HttpWebResponse).StatusDescription) dataStream = response.GetResponseStream() Dim reader As New StreamReader(dataStream) Dim responseFromServer As String = reader.ReadToEnd() reader.Close() dataStream.Close() response.Close() Return responseFromServer End Function
这个将HTTP POST请求数据发送到url但我无法在默认Web浏览器中打开它或响应.
我怎样才能做到这一点?
这个行动背后的逻辑是.我有一个WinForm应用程序,当我的用户点击我的应用程序中的“转到网站”按钮.我想打开浏览器并将登录数据发送到登录页面,这样用户就可以在日志记录模式下访问该站点.
解决方法
我不知道您的问题是否仍然需要解决方案,但我使用您的代码来替代类似的问题.我有相同的请求,我需要用户点击AppForm按钮登录网站,但我没有找到任何方法将发布数据从VB应用程序发送到导航器(可能是一个解决方案可能存在与IE /边缘,但我的用户可以使用IE / FF / Chrome).以下是我为寻找解决方案所采取的步骤:
>用户必须单击以连接的按钮正在使用您的代码
> postData包含网站识别用户所需的所有数据(如用户名和密码)IP地址
>网站检查这些数据,如果一切正常,它会生成一个唯一的32位密钥并将其存储在数据库中
>然后网站发送json响应{“status”=> “ok”,“token”=> $key,“ip”=> $ipFromPostRequest}
> VB应用程序现在正在打开一个程序(您可以找到一些代码来打开默认浏览器的链接,如果没有定义IE或FF),其链接如http://www.website.com/auto-login/32-BITS-GENERATED-KEY
>如果密钥和IP对应,网站将检查数据库
> Web站点创建会话并将用户重定向到home并从数据库中删除Key
我认为这不是出于安全原因的最佳解决方案,但就我而言,这是一个具有独特计算机名称和内部IP地址的compagny网络,此过程正在运行.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。