用Go写了一个类似Proxy的小程序,可以用来访问goolge个人使用还是可以的.

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()
}

这个用来访问海外网站的话,要在本地host,把 域名绑定到IP,例如:1.1.1.1 www.google.com

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

时间: 2024-10-08 10:36:07

用Go写了一个类似Proxy的小程序,可以用来访问goolge个人使用还是可以的.的相关文章

聊聊程序员如何学习英语单词:写了一个记单词的小程序

背景: 关于英文对程序员的重要性,就不多说了! 英语的学习,有很多,今天也不聊多,只聊英语单词! 关于单词的记忆,找过很多方法,下载过很多软件. 如图(其它不好用的都卸载了): 上图算是我以前用过软件,注意,是以前哦~~~ 意思就是没有坚持下来~~~~ 随时间的推移,最后它们还是被我遗忘了~~~ 为什么???不能:坚持!坚持!坚持! 学习思考: 一直在找方法: 1:下载过联想记忆法.背文章记单词,词根,各种视频~~~ 2:连单词的数据库都网上下载了一份了,期望从数据库的直接记忆单词快些~~~ 通

一个类似repo的小程序

#! /usr/bin/env python # -*- coding: utf-8 -*- # usage : python EasyRepo.py -u "13051041" -v "v6.0.0" # by (13051041) 20160909 import os try: import xml.etree.cElementTree as ET except ImportError: import xml.etree.ElementTree as ET im

coffeescript写的一个无限下拉小程序

locate=$(document).height()-$(window).height() times=0 scroller = (cb)-> if locate<=$(document).height()-$(window).height() times=0 locate+=100 scroll(0,locate) clearTimeout(timer) timer=setTimeout("scroller()",54) timer else await sleep 3

两天撸一个天气应用微信小程序

这是一个完整的已经线上运行的天气应用小程序,点击可查看源码,可随意 star.也可以扫描下方的小程序码直接体验. 效果图: 说明 鸣谢:pure 天气 APP:首页样式借鉴了 pure天气 APP.如侵删. 数据来源 地理编码.天气数据均来自百度地图开放平台.个人开发完全免费,有对应的小程序 sdk,加入即可,但是返回的天气数据较少. 运行前准备 注册微信小程序,获取 appid 注册百度地图开放平台开发者,创建应用,获取 ak(其他配置自行查看) 在 app.js 中替换 globalData

C#中“走马灯”和类似“打地鼠”的小程序

今天主要复习了一下昨天学习的窗体小程序.主要会运用到控件的一些基本属性. 程序: 走马灯(要求是:使用两个窗体,两个窗体之间要传值,Form1传值给Form2,传入的字符串在Form2窗体上横向滚动) * 首先是设定界面(txtname,txtpwd.第二个文本框txtname设置它的UseSystemPasswordChar属性为true,MaxLength设为6) 文本框的属性:UseSystemPasswordChar 指示编辑控件中的文本是否以默认的密码字符(“●”)显示.   Pass

现学现卖的一个“快递查询“的小程序开发

最近微信小程序是炒的如火如荼,各种热门, 正好赶上这个热潮,这几天先把小程序技术文档看了个遍,结合教程手写了一个案例.今天写了一个快递查询的小demo,大致分为三步 产品需求,准备api,代码编写. 第一步:产品需求,我们需要实现如下图的一个功能,在文本框输入快递单号,点击查询,下面出来我们需要的快递信息 第二步:准备 我们先找一个快递的api接口,通过http://apistore.baidu.com/我们可以看到很多的api,我们找一个快递查询的 我们可以看到有接口地址,和一些参数.做好这个

只是一个关于表白的小程序而已,如果你不知道怎么拒绝我,那就来掐死我吧。

只是一个关于表白的小程序而已,如果你不知道怎么拒绝我,那就来掐死我吧. 背景: 小M同学喜欢小X同学,并且小M同学跟你们一样是枚程序猿.小M同学决定向小X同学表白.但是小M同学他是个程序猿啊,所以他害羞腼腆,不好意思直接说,于是他决定写了小程序向小X同学表白.于是发生了如下的事情. 时间:某年某月20日    人物:小M和小X    地点:说多是泪 (通话中) 小M:小X吗?我是小M. 小X:是啊,怎么了? 小M:是这样的,我最近写了个小程序,不知道你有没有时间帮我测一下啊? 小X:时间倒是有的

闲来无视写的关于炉石的测试小程序

最近半年都在忙项目,基本无时间研究技术了,而且不断发现,项目中遇到的问题大多都是业务层面的,技术很多时候不是瓶颈,所以很少研究技术了. 这个是一个测试炉石传说中25仔的轰炸效果界面,我设计的情景是对面的脸还有2血,自己也是2血,对面一个3/2精灵龙,一个0/1的鲜血小鬼:此时派上25仔随机3点伤害,测试人品如何... 核心思路:ui(winform)端,向helper类传入定义好的类,BoomRequest,其中包含了一个字典,key代表每个元素(自己的脸,对手的脸,场上的生物等),value是

【转】两天快速开发一个自己的微信小程序 悬笔e绝 www.xuanbiyijue.com

文章出处:https://www.cnblogs.com/xuanbiyijue/p/7980010.html 作者: 悬笔e绝 www.xuanbiyijue.com 两天快速开发一个自己的微信小程序 一.写在前面 1.为什么要学小程序开发? 对于前端开发而言,微信小程序因为其简单快速.开发成本低.用户流量巨大等特点,也就成了前端开发工程师必会的一个技能. 2.先放上我做的小程序 可以在微信小程序搜索“悬笔e绝”,或者用微信扫描下面的二维码哦 (1)欢迎页:这个logo是当年念大学给社团做的l