這是一個建立於
的文章,其中的資訊可能已經有所發展或是發生改變。
package mainimport ("fmt""io""net/http")func main() {http.HandleFunc("/", route)e := http.ListenAndServe(":80", nil)if e != nil {fmt.Println(e)}}func route(w http.ResponseWriter, r *http.Request) {req, _ := http.NewRequest(r.Method, "", r.Body)req.URL = r.URLreq.URL.Host = r.Host //"www.qq.com"req.URL.Scheme = "http"for _, v := range r.Cookies() {req.AddCookie(v)}//req.Header = r.Header 這裡的Header就不要使用了,使用的話他會自動跳轉到https,代理就出問題了.resp, err := http.DefaultClient.Do(req)if err != nil {fmt.Println("Here:", err)return}for k, v := range resp.Header {for _, value := range v {w.Header().Add(k, value)}}for _, cookie := range resp.Cookies() {w.Header().Add("Set-Cookie", cookie.Raw)}w.WriteHeader(resp.StatusCode)io.Copy(w, resp.Body)resp.Body.Close()r.Body.Close()}這個用來訪問海外網站的話,要在本地host,把 網域名稱綁定到IP,例如:1.1.1.1 www.google.com
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。