您的位置:首页 > 编程语言 > Go语言

Golang爬虫基础:通过代理IP发送请求

2017-07-30 20:14 841 查看
package main

import (
"fmt"
"io/ioutil"
"log"
"net/http"
"net/url"
)

func main() {
req_url := "http://httpbin.org/get"
fmt.Printf("url: %s", req_url)

proxy := func(_ *http.Request) (*url.URL, error) {
return url.Parse("http://12.23.16.11:1234")
}
transport := &http.Transport{Proxy: proxy}

c := &http.Client{Transport: transport}

req, err := http.NewRequest("GET", req_url, nil)
if err != nil {
log.Fatal(err)
}

res, err := c.Do(req)
if err != nil {
log.Fatal(err)
}

defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
log.Fatal(err)
}

fmt.Printf("%s", body)
}


运行结果:

url: http://httpbin.org/get{ "args": {},
"headers": {
"Accept-Encoding": "gzip",
"Connection": "close",
"Host": "httpbin.org"
4000
,
"User-Agent": "Go-http-client/1.1"
},
"origin": "12.23.16.11",
"url": "http://httpbin.org/get"
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: