繁体   English   中英

通过安全连接(SSL,https)登录网站的简便方法?

[英]Easy way to login to a web site over secure connection (SSL, https)?

我正在尝试使用Borland Builder 6和Indy 10.6通过安全连接登录网站,但我输了。 该网站发送给我的页面与我期望的页面不同,因为我发布的数据可能不正确,或者缺少某些cookie。 有没有办法查看我发布的实际数据? 另外,我可以使用SharpDevelop和所有.Net函数。 有没有一种简单的方法来处理服务器和脚本生成的所有cookie和javascript变量? 我在想的是,是否有任何浏览器组件或用于下载登录页面的东西,并准备了所有必需的数据(隐藏的输入等),并允许我只输入数据(用户名/密码)并获得网络许可网站页面。 或者下载登录页面,编辑源代码以填写用户名/密码,然后将其全部回发(就像我按提交按钮一样)。

谢谢,尼克

您可以将TIdLog...组件(例如TIdLogFileTIdLogEvent )分配给TIdHTTP.Intercept属性。 这将向您显示TIdHTTP与服务器交换的原始HTTP数据。 在加密之前和解密之后都会记录消息,因此即使使用SSL,您也将看到未加密的HTTP消息。 您可以使用Fiddler查看真正的Web浏览器如何与服务器对话,然后将其与TIdHTTP对话进行比较。

通常,当您需要使用TIdHTTP自动进行Web登录时,您必须模仿Web浏览器中用户的操作。 访问打开的页面,让服务器根据需要重定向您,让服务器发送所需的任何cookie,然后您可以解析登录表单HTML以获取所需的任何字段值,然后使用TStringListTIdMultipartFormDataStream提交它们,具体取决于网络表单本身的设置。 等等。

还有一点要记住的是,有些服务器对User-Agent请求标头敏感,会向特定的Web浏览器发送自定义的不同响应。 因此,您可以尝试将TIdHTTP.Request.UserAgent属性设置为模仿主要Web浏览器之一的其他值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM