package m
ain
import (
&nbs
p;"fmt"
"
LOG"
"net/http"
"net/url"
"io/ioutil"
)
//指定
代理ip
func getTransportFieldURL(
Proxy_addr *string) (transport *http.Transport) {
url_i := url.URL{}
url_
PRoxy, _ := url_i.Parse(*proxy_addr)
transport = &
amp;http.Transport{Proxy : http.ProxyURL(url_proxy)}
return
}
//从环境变量$http_proxy或$HTTP_PROXY中获取HTTP代理地址
func getTransport
Fromenvironment() (transport *http.Transport) {
transport = &http.Transport{Proxy : http.ProxyF
romEnvironment}
return
}
func fetch(url , proxy_addr *string) (ht
ML string) {
transport := getTransportFieldURL(proxy_addr)
client := &http.Client{Transport : transport}
req, err := http.NewRequest("GET", *url, nil)
if err != nil {
log.Fatal(err.Error())
}
resp, err := client.Do(req)
if err != nil {
log.Fatal(err.Error())
}
if resp.
statusCode
== 200 {
robots, err := ioutil.ReadAll(resp.Body);
resp.Body.Close()
if err != nil {
log.Fatal(err.Error())
}
html = string(robots);
} else {
html = ""
}
return
}
func main() {
proxy_addr := "http://183.221.250.137:80/"
url := "http://www.baidu
.COM/s&
#63;wd=ip"
html := fetch(&url, &proxy_addr)
fmt.Println(html)
}