Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Get http://www.********/: http: error connecting to proxy http://14.134.103.201:808: dial tcp 14.134.103.201:808: i/o timeout
- <pre> proxyUrl, err := url.Parse("http://14.134.103.201:808")
- if err != nil {
- log.Println("proxyUrl")
- log.Fatalln(err)
- }
- tr := &http.Transport{
- Proxy: http.ProxyURL(proxyUrl),
- Dial: (&net.Dialer{
- Timeout: 30 * time.Second,
- KeepAlive: 30 * time.Second,
- }).Dial,
- }
- clinetHttp := &http.Client{
- //Timeout: 50 * time.Second,
- Transport: tr,
- }
- res, err := clinetHttp.Get(urls)
- if err != nil{
- log.Println("Get urls")
- log.Println(err)
- return doc, statuscode, err
- }
- defer res.Body.Close()
- if err != nil {
- log.Println("close")
- }
- // Convert the designated charset HTML to utf-8 encoded HTML.
- // `charset` being one of the charsets known by the iconv package.
- utfBody, err := iconv.NewReader(res.Body, "windows-1251", "utf-8")
- CheckErr(err)
- // use utfBody using goquery
- doc, err = goquery.NewDocumentFromReader(utfBody)
- CheckErr(err)
- statuscode = res.StatusCode
- return doc, statuscode, err </pre>
- resp, err := c.Get("http://localhost:4000")
- if err != nil {
- switch err := err.(type) {
- case *url.Error:
- if err.Timeout() {
- log.Printf("timeout: %s", err.Err)
- } else if err, ok := err.Err.(*net.OpError); ok {
- log.Printf("net error: %s", err)
- } else {
- log.Printf("original error: %T", err.Err)
- }
- default:
- log.Printf("unknown error: %v", err)
- }
- }
- func isProxyError(err error) bool {
- return strings.Contains(err.Error(), "error connecting to proxy")
- }
Add Comment
Please, Sign In to add comment