fix proxy
This commit is contained in:
		@@ -9,6 +9,9 @@ import (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func GetClient(proxy string) (*http.Client, error) {
 | 
			
		||||
	if proxy == "" {
 | 
			
		||||
		return http.DefaultClient, nil
 | 
			
		||||
	}
 | 
			
		||||
	proxyUrl, err := url.Parse(proxy)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, fmt.Errorf("failed to parse proxyUrl, url:%s, err: %w", proxy, err)
 | 
			
		||||
@@ -28,20 +31,25 @@ func unixSocks5Proxy(path string) (*http.Client, error) {
 | 
			
		||||
	}
 | 
			
		||||
	ctxDialer, ok := dialer.(proxy.ContextDialer)
 | 
			
		||||
	if !ok {
 | 
			
		||||
		return nil, fmt.Errorf("proxy.SOCKS5 did not return a ContextDialer") // This should never happen
 | 
			
		||||
		panic("proxy.SOCKS5 did not return a ContextDialer")
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return &http.Client{
 | 
			
		||||
		Transport: &http.Transport{
 | 
			
		||||
			DialContext: ctxDialer.DialContext,
 | 
			
		||||
		},
 | 
			
		||||
	}, nil
 | 
			
		||||
	trans := defaultTransport()
 | 
			
		||||
	trans.DialContext = ctxDialer.DialContext
 | 
			
		||||
	trans.Proxy = nil
 | 
			
		||||
	return &http.Client{Transport: trans}, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func proxyHttp(proxyUrl *url.URL) (*http.Client, error) {
 | 
			
		||||
	return &http.Client{
 | 
			
		||||
		Transport: &http.Transport{
 | 
			
		||||
			Proxy: http.ProxyURL(proxyUrl),
 | 
			
		||||
		},
 | 
			
		||||
	}, nil
 | 
			
		||||
	trans := defaultTransport()
 | 
			
		||||
	trans.Proxy = http.ProxyURL(proxyUrl)
 | 
			
		||||
	return &http.Client{Transport: trans}, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func defaultTransport() *http.Transport {
 | 
			
		||||
	transPtr, ok := http.DefaultTransport.(*http.Transport)
 | 
			
		||||
	if !ok {
 | 
			
		||||
		panic("http.DefaultTransport is not a *http.Transport")
 | 
			
		||||
	}
 | 
			
		||||
	trans := transPtr.Clone()
 | 
			
		||||
	return trans
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user