请大佬们帮忙看下,go 怎么才能通过代理成功发起请求
我也试了 php 也不行
python 代码
import requests
def send_request_via_proxy(*args, **kwargs):
baidu_proxy = 'http://cloudnproxy.baidu.com:443'
kwargs['proxies'] = {'http': baidu_proxy, 'https': baidu_proxy}
if 'headers' not in kwargs:
kwargs['headers'] = {}
if 'User-Agent' not in kwargs['headers']:
kwargs['headers'][
'User-Agent'] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 baiduboxapp/13.10.0.10'
resp = requests.request(*args, **kwargs)
print(resp.request.headers)
print(resp.request)
return resp
if __name__ == '__main__':
api = 'https://pubstatic.b0.upaiyun.com/?_upnode'
ip_info = send_request_via_proxy('GET', api).json()
print(ip_info['remote_addr'])
print(ip_info['remote_addr_location'])
go 代码
package main
import (
"fmt"
"io"
"log"
"net/http"
"net/url"
"time"
)
func main() {
URL, _ := url.Parse("http://cloudnproxy.baidu.com:443")
client := &http.Client{
Transport: &http.Transport{
TLSHandshakeTimeout: 30 * time.Second,
Proxy: http.ProxyURL(URL),
},
}
req, err := http.NewRequest("GET", "https://pubstatic.b0.upaiyun.com/?_upnode", nil)
if err != nil {
log.Fatal(err)
}
req.Header.Set("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36(KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 baiduboxapp/13.10.0.10")
resp, err := client.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
bodyText, err := io.ReadAll(resp.Body)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%s\n", bodyText)
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.