• 超时和代理


    package main
    
    import (
    	"io"
    	"net/http"
    	"net/url"
    	"os"
    )
    
    func main() {
    	// proxyUrl, _ := url.Parse("socks5://127.0.0.1:1080")
    	proxyUrl, _ := url.Parse("http://127.0.0.1:8087")
    	t := &http.Transport{
    		Proxy: http.ProxyURL(proxyUrl),
    	}
    	// 一般主要两种,http 代理 和 shadow socks 的代码, socks5
    	client := http.Client{Transport: t}
    	r, _ := client.Get("https://google.com")
    	defer func() { _ = r.Body.Close() }()
    
    	_, _ = io.Copy(os.Stdout, r.Body)
    	// session
    	// session.Get
    	// session.Post
    	// session.Put
    	// session.Delete
    }
    package main
    
    import (
    	"context"
    	"net"
    	"net/http"
    	"time"
    )
    
    func main() {
    	// https://colobu.com/2016/07/01/the-complete-guide-to-golang-net-http-timeouts/
    	client := &http.Client{
    		Timeout: 10 * time.Second,
    		Transport: &http.Transport{
    			DialContext: func(ctx context.Context, network, addr string) (conn net.Conn, e error) {
    				return net.DialTimeout(network, addr, 2*time.Second)
    			},
    			ResponseHeaderTimeout: 5 * time.Second,
    			TLSHandshakeTimeout:   2 * time.Second,
    			IdleConnTimeout:       60 * time.Second,
    		},
    	}
    	r, _ := client.Get("http://httpbin.org/delay/10")
    }
    

      

  • 相关阅读:
    mac crontab
    mac 修改MAC代码
    python 二叉树计算器
    python 验证码识别
    scp 上传和下载文件
    centos 开机执行的命令
    centos aws 修改使用密码ssh登录
    python nose测试
    C# linq to xml
    Visual Studio 2015+InstallShield 2015
  • 原文地址:https://www.cnblogs.com/yzg-14/p/13281439.html
Copyright © 2020-2023  润新知