2015-11-07 102 views
0

需要你的幫助,這獲取網/ HTTP:TLS握手超時golang

package main 

import (
    "log" 
    "net/http" 
) 

func main() { 
    client := &http.Client{} 
    _, err := client.Get("https://www.marathonbet.com/en/") 
    if err != nil { 
     log.Fatalf("%s\n", err) 
    } 
} 

這總是返回:Get https://www.marathonbet.com/en/: net/http: TLS handshake timeout exit status 1 我真的嘗試: it 和使用this LIB 做it 但沒有任何工程對我來說.. 所以,請幫助我。

更新: 在Python 2.7使用要求這個工程:

s = Session() 
r = s.get('https://www.marathonbet.com/en/, verify=False) 

但是我需要去(

UPD做到這一點: 修正:只需replase https://www.marathonbet.com/en/https://87.117.250.213/en/並添加skip verify THX all for help。

+2

該主機沒有什麼問題,我可以看到,而且看起來配置得相當好。您是否在通過IPv6連接時遇到問題? – JimB

+0

如果您嘗試使用其他https主機,會發生什麼情況? – poolie

+0

不要,'https:// code.google.com' - 完美無缺。 –

回答

-2

禁用驗證

package main 

import (
    "crypto/tls" 
    "fmt" 
    "io/ioutil" 
    "net/http" 
    "os" 
) 

func main() { 
    // Create New http Transport 
    transCfg := &http.Transport{ 
     TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, // disable verify 
    } 
    // Create Http Client 
    client := &http.Client{Transport: transCfg} 
    // Request 
    response, err := client.Get("https://www.marathonbet.com/en/") 
    // Check Error 
    if err != nil { 
     fmt.Println(err) 
     os.Exit(1) 
    } 
    // Close After Read Body 
    defer response.Body.Close() 
    // Read Body 
    data, err := ioutil.ReadAll(response.Body) 
    // Check Error 
    if err != nil { 
     fmt.Println(err) 
     os.Exit(1) 
    } 
    // Print response html : conver byte to string 
    fmt.Println(string(data)) 

} 
+0

仍然沒有工作..'獲取https://www.marathonbet.com/en/:EOF 退出狀態1'' –

+0

此代碼測試:'去版本go1.5.1 linux/amd64'並與我一起工作。 (https://gyazo.com/c2038ddbecc2515fd4b1a1506a9a2960) –

+0

@ a.k.mutlu:不需要禁用驗證,主機配置正確,並具有有效的COMODO證書。 – JimB