2017-06-06 91 views
0

我在嘗試實現tcllib的http包時遇到了問題。 ,我有Tcl - Tcllib HTTP:geturl

一個問題是,運行下面的代碼後:

set fp [::http::geturl "https://google.com"] 

我得到以下錯誤:

error reading "sock23": software caused connection abort 
    while executing 
"::http::geturl "https://google.com"" 
    ("uplevel" body line 55) 
    invoked from within 
"uplevel { 
    #package require yajltcl 
package require sha256 
package require base64 
package require http 1.0 
package require tls 
package require pki 

是不是有什麼毛病我的大腦?

+0

你的大腦沒有錯,但爲什麼你使用http 1.0(非常舊的代碼!)以及你正在使用哪個tls包的_exact_版本?谷歌對一些事情相當敏感。 –

+0

我試圖把v2.5的http,但它似乎只在服務器上運行的腳本只支持v1.0。我在tcl是個相當不錯的選擇。 。我如何找到我正在使用的軟件包版本? – alexswo

回答

1

執行之前運行以下命令:: HTTP ::註冊了我的腳本工作:

tls::init -tls1 true -ssl2 false -ssl3 false 
0

您需要先註冊TLS協議打開HTTPS鏈接,請嘗試以下命令:

http::register https 443 [list ::tls::socket -tls1 1]