用Go写了一个可以用来访问goolge类似Proxy的小程序

原创 2015年11月19日 16:23:21

  1. package main
  2. import (
  3. "fmt"
  4. "io"
  5. "net/http"
  6. )
  7. func main() {
  8. http.HandleFunc("/", route)
  9. e := http.ListenAndServe(":80", nil)
  10. if e != nil {
  11. fmt.Println(e)
  12. }
  13. }
  14. func route(w http.ResponseWriter, r *http.Request) {
  15. req, _ := http.NewRequest(r.Method, "", r.Body)
  16. req.URL = r.URL
  17. req.URL.Host = r.Host //"www.qq.com"
  18. req.URL.Scheme = "http"
  19. for _, v := range r.Cookies() {
  20. req.AddCookie(v)
  21. }
  22. //req.Header = r.Header 这里的Header就不要使用了,使用的话他会自动跳转到https,代理就出问题了.
  23. resp, err := http.DefaultClient.Do(req)
  24. if err != nil {
  25. fmt.Println("Here:", err)
  26. return
  27. }
  28. for k, v := range resp.Header {
  29. for _, value := range v {
  30. w.Header().Add(k, value)
  31. }
  32. }
  33. for _, cookie := range resp.Cookies() {
  34. w.Header().Add("Set-Cookie", cookie.Raw)
  35. }
  36. w.WriteHeader(resp.StatusCode)
  37. io.Copy(w, resp.Body)
  38. resp.Body.Close()
  39. r.Body.Close()
  40. }
复制代码
www.jjg3.com  www.kmnk01.com

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

通过反向ssh连接+socks5+web-proxy来访问内网资源

最近碰到个这么个问题,校园网内的资源只能在校园网内访问,在寝室里连不到校园网时候就无法访问了,很不方便。所以想了一个方案来解决这个问题。 所需硬件:一台有公网IP的linux主机 A,一台在校园网内...

写了一个PHP版本的MONGODB语法解析器,可以通过类似SQL的语法来进行MONGODB的查询,不知道有人需要不,分享一下吧

转载请注明作者:wetouns 在使用MONGODB的时候写查询语句总是一件让人蛋疼的事情,如果查询复杂一点,要嵌套好多层对象,于是我就想,能不能使用类似SQL的语法来进行查询呢,这样子代码看起来更加...

mixer: 一个用go实现的mysql proxy

介绍 mixer是一个用go实现的mysql proxy,支持基本的mysql代理功能。 mysql的中间件很多,对于市面上面现有的功能强大的proxy,我主要考察了如下几个: my...

如何用Go语言打造一个高性能MySQL Proxy

kingshard架构设计和功能实现kingshard(https://github.com/flike/kingshard)开源有一段时间了,有些热心的用户发邮件来咨询kingshard的设计和实现...

编写一个基于对话框的应用程序可以用来打开及显示文本文件设置所显示的文本的字体颜色。

以下文章为转载:主要是为了学习 题目:编写一个基于对话框的应用程序,要求其能实现如下功能: (1)可以用来打开及显示文本文件。 (2)可以设置所显示的文本的字体颜色。 ★打开Microsoft...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)