用Go写了一个可以用来访问goolge类似Proxy的小程序
2015-11-19 16:23
513 查看
package main import ( "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.URL req.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() } 复制代码 |
相关文章推荐
- 微信 传送门
- PHP版微信JSAPI支付时报"当前页面的URL未注册"的问题
- android第三方接入(QQ、微信、新浪微博和百度)
- 关于android微信QQ等平台分享功能实现中遇到的问题处理
- 微信sdk分享最后打包签名
- 官方SDK微信第三方登录
- 对微信的二次打包学习2:安装多个微信
- zabbix如何实现微信报警 转载
- 【原创】微信公众号与HTML 5混合模式揭秘3——JSSDK获取地理位置
- 微信公众号与HTML 5混合模式揭秘3——JSSDK获取地理位置
- 随机组合名字的小程序
- Android使用ShareSdk完成QQ和微信的分享功能
- 【转】利用js来实现微信摇一摇来自动更换网页背景的功能
- 微信红包的技术实现原理
- 玩转微信2次开发2_微信支付开发_处理响应(微擎版)
- 微信订阅号与博客打通
- 微信开发
- 对于JAVA多线程卖票小程序的理解
- 微信支付(.NET版)
- 小程序:彩票机选神器 !