2015-11-07 103 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