Я собираюсь отправить запрос http через ssl прокси в Go. К сожалению, это всегда терпит неудачу. Вот мой код, который я пробовал.
proxyUrl, err := url.Parse("https://" + proxyURLStr)
transport := &http.Transport{
Proxy: http.ProxyURL(proxyUrl),
}
//adding the Transport object to the http Client
client := &http.Client{
Transport: transport,
Timeout: 60 * time.Second,
}
request, err := http.NewRequest("GET", "https://test.com", nil)
if err != nil {
log.Print("Create Request Error - test.com ")
return -2, invalid_data
}
random_agent := browser.Random()
request.Header.Set("User-Agent", random_agent)
// Make request
response, err := client.Do(request)
if err != nil {
log.Println(err)
current := time.Now()
elapsed := current.Sub(start)
log.Printf("test.com is not available. %02d, %02d ", int(elapsed.Minutes()), int(elapsed.Seconds()))
return -2, invalid_data
}
Я получаю эту ошибку:
net / http: запрос отменен при ожидании соединения (Client.Timeout превышен при ожидании заголовков)
Я написал ту же функцию в Python и протестировал ее - работает хорошо. Но код Go не работает.