使用TCL请求HTTPS时出现问题

使用TCL请求HTTPS时出现问题,https,tcl,Https,Tcl,我正在尝试使用TCL(OpenACS)执行以下请求 问题是,当我读取$status变量时,我得到“eof”,而$answer变量变为空。我尝试启用tls V.1 http::register https 443 [list tls::socket -tls1 1] 而且它只对站点有效,但对用户无效 我要连接的站点是。。。 但它不起作用 我使用curl检索HTTPS中的页面内容,它可以工作,我安装了OpenSSL,所以我看不出问题所在,有另一种方法可以使用TCL?进行HTTPS连接 我看不出这是

我正在尝试使用TCL(OpenACS)执行以下请求

问题是,当我读取$status变量时,我得到“eof”,而$answer变量变为空。我尝试启用tls V.1

http::register https 443 [list tls::socket -tls1 1]
而且它只对站点有效,但对用户无效

我要连接的站点是。。。 但它不起作用

我使用curl检索HTTPS中的页面内容,它可以工作,我安装了OpenSSL,所以我看不出问题所在,有另一种方法可以使用TCL?进行HTTPS连接


我看不出这是否是编码问题(可能是我注册的https协议错误),也可能是我的服务器配置不好。希望有人能帮忙!!谢谢

嗯,我无法重现。您使用的是哪一级别的Tcl,以及哪一版本的tls软件包

我这样做:

package require http
package require tls

# This is your code, cut-n-pasted with blank lines removed
http::register https 443 tls::socket
set url "https://encrypted.google.com"
set token [http::geturl $url -timeout 30000]
set status [http::status $token]
set answer [http::data $token]
http::cleanup $token
http::unregister https

puts $status

它生成“
ok
”作为输出,
$status
的内容看起来也很像(但是太长了,无法粘贴到这里)。这是Tcl 8.5.2(我知道我需要升级)、http 2.7和tls 1.6的版本。

我的Tcl版本是8.5.6、http 2.7,但tls是1.5,我想我需要升级tls包,谢谢您的帮助!!!我在其他服务器上测试了代码,效果很好,所以我认为这是一个糟糕的服务器配置。
package require http
package require tls

# This is your code, cut-n-pasted with blank lines removed
http::register https 443 tls::socket
set url "https://encrypted.google.com"
set token [http::geturl $url -timeout 30000]
set status [http::status $token]
set answer [http::data $token]
http::cleanup $token
http::unregister https

puts $status