成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁(yè) > 知識(shí)庫(kù) > Go 實(shí)現(xiàn)HTTP中間人代理的操作

Go 實(shí)現(xiàn)HTTP中間人代理的操作

熱門(mén)標(biāo)簽:外呼系統(tǒng)用什么卡 阿克蘇地圖標(biāo)注 excel地圖標(biāo)注分布數(shù)據(jù) 電話機(jī)器人軟件免費(fèi) 外呼系統(tǒng)顯本地手機(jī)號(hào) 評(píng)價(jià)高的400電話辦理 百度地圖標(biāo)注后傳給手機(jī) 壽光微信地圖標(biāo)注 涿州代理外呼系統(tǒng)

goproxy

Go HTTP(S)代理庫(kù), 支持中間人代理解密HTTPS

項(xiàng)目地址

安裝

go get github.com/ouqiang/goproxy

使用

package main
import (
    "net/http"
    "time"
    "github.com/ouqiang/goproxy"
)
func main() {
    proxy := goproxy.New()
    server := http.Server{
        Addr:         ":8080",
        Handler:      proxy,
        ReadTimeout:  1 * time.Minute,
        WriteTimeout: 1 * time.Minute,
    }
    err := server.ListenAndServe()
    if err != nil {
        panic(err)
    }
}

代理測(cè)試

curl -x localhost:8080 https://www.baidu.com

中間人代理, 解密HTTPS

系統(tǒng)需導(dǎo)入根證書(shū) mitm-proxy.crt

package main
import (
    "crypto/tls"
    "net/http"
    "sync"
    "time"
    "github.com/ouqiang/goproxy"
)
// 實(shí)現(xiàn)證書(shū)緩存接口
type Cache struct {
    m sync.Map
}
func (c *Cache) Set(host string, cert *tls.Certificate) {
    c.m.Store(host, cert)
}
func (c *Cache) Get(host string) *tls.Certificate {
    v, ok := c.m.Load(host)
    if !ok {
        return nil
    }
    return v.(*tls.Certificate)
}
func main() {
    proxy := goproxy.New(goproxy.WithDecryptHTTPS(Cache{}))
    server := http.Server{
        Addr:         ":8080",
        Handler:      proxy,
        ReadTimeout:  1 * time.Minute,
        WriteTimeout: 1 * time.Minute,
    }
    err := server.ListenAndServe()
    if err != nil {
        panic(err)
    }
}

事件處理

實(shí)現(xiàn)Delegate接口

type Delegate interface {
    // Connect 收到客戶端連接
    Connect(ctx *Context, rw http.ResponseWriter)
    // Auth 代理身份認(rèn)證
    Auth(ctx *Context, rw http.ResponseWriter)
    // BeforeRequest HTTP請(qǐng)求前 設(shè)置X-Forwarded-For, 修改Header、Body
    BeforeRequest(ctx *Context)
    // BeforeResponse 響應(yīng)發(fā)送到客戶端前, 修改Header、Body、Status Code
    BeforeResponse(ctx *Context, resp *http.Response, err error)
    // ParentProxy 上級(jí)代理
    ParentProxy(*http.Request) (*url.URL, error)
    // Finish 本次請(qǐng)求結(jié)束
    Finish(ctx *Context)
    // 記錄錯(cuò)誤信息
    ErrorLog(err error)
}
type EventHandler struct{}
func (e *EventHandler) Connect(ctx *goproxy.Context, rw http.ResponseWriter) {
    // 保存的數(shù)據(jù)可以在后面的回調(diào)方法中獲取
    ctx.Data["req_id"] = "uuid"
    // 禁止訪問(wèn)某個(gè)域名
    if strings.Contains(ctx.Req.URL.Host, "example.com") {
        rw.WriteHeader(http.StatusForbidden)
        ctx.Abort()
        return
    }
}
func (e *EventHandler) Auth(ctx *goproxy.Context, rw http.ResponseWriter)  {
    // 身份驗(yàn)證
}
func (e *EventHandler) BeforeRequest(ctx *goproxy.Context) {
    // 修改header
    ctx.Req.Header.Add("X-Request-Id", ctx.Data["req_id"].(string))
    // 設(shè)置X-Forwarded-For
    if clientIP, _, err := net.SplitHostPort(ctx.Req.RemoteAddr); err == nil {
        if prior, ok := ctx.Req.Header["X-Forwarded-For"]; ok {
            clientIP = strings.Join(prior, ", ") + ", " + clientIP
        }
        ctx.Req.Header.Set("X-Forwarded-For", clientIP)
    }
    // 讀取Body
    body, err := ioutil.ReadAll(ctx.Req.Body)
    if err != nil {
        // 錯(cuò)誤處理
        return
    }
    // Request.Body只能讀取一次, 讀取后必須再放回去
    // Response.Body同理
    ctx.Req.Body = ioutil.NopCloser(bytes.NewReader(body))
}
func (e *EventHandler) BeforeResponse(ctx *goproxy.Context, resp *http.Response, err error) {
    if err != nil {
        return
    }
    // 修改response
}
// 設(shè)置上級(jí)代理
func (e *EventHandler) ParentProxy(req *http.Request) (*url.URL, error) {
    return url.Parse("http://localhost:1087")
}
func (e *EventHandler) Finish(ctx *goproxy.Context) {
    fmt.Printf("請(qǐng)求結(jié)束 URL:%s\n", ctx.Req.URL)
}
// 記錄錯(cuò)誤日志
func (e *EventHandler) ErrorLog(err error) {
    log.Println(err)
}
func main() {
    proxy := goproxy.New(goproxy.WithDelegate(EventHandler{}))
    server := http.Server{
        Addr:         ":8080",
        Handler:      proxy,
        ReadTimeout:  1 * time.Minute,
        WriteTimeout: 1 * time.Minute,
    }
    err := server.ListenAndServe()
    if err != nil {
        panic(err)
    }
}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • go 原生http web 服務(wù)跨域restful api的寫(xiě)法介紹
  • golang http使用踩過(guò)的坑與填坑指南
  • Go http client 連接池不復(fù)用的問(wèn)題
  • Golang實(shí)現(xiàn)http server提供壓縮文件下載功能
  • golang語(yǔ)言http協(xié)議get拼接參數(shù)操作
  • 在go文件服務(wù)器加入http.StripPrefix的用途介紹
  • Golang 實(shí)現(xiàn)分片讀取http超大文件流和并發(fā)控制

標(biāo)簽:吐魯番 欽州 汕頭 雞西 梅河口 重慶 蘭州 銅川

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Go 實(shí)現(xiàn)HTTP中間人代理的操作》,本文關(guān)鍵詞  實(shí)現(xiàn),HTTP,中間人,代理,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Go 實(shí)現(xiàn)HTTP中間人代理的操作》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Go 實(shí)現(xiàn)HTTP中間人代理的操作的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美一区二区三区在线视频| 久久99热这里只有精品国产| 在线天堂av| 久久精品视频6| 日韩一区二区精品葵司在线| 在线看国产一区| 三级福利片在线观看| 青青草原成人在线视频| 日韩精品高清视频| 久草在线免费资源站| 国产精品久久久久久影视| 国产美女精品视频免费观看| xxx国产在线观看| 97人人爽人人爽人人爽| 一女二男一黄一片| 91av在线看| 成人欧美一区二区三区在线湿哒哒| 99久热re在线精品视频| 国产一区在线不卡| 三级影片在线看| 亚洲一区二区在线免费| 国产精品中文欧美| 国产一卡二卡在线| h视频在线免费| heyzo高清在线| 四虎影视成人精品国库在线观看| 91精品一区二区| 欧洲中文字幕国产精品| 欧美视频一区二区三区在线观看| 免费在线观看av片| 国产高潮在线| 在线综合视频播放| 亚洲欧洲精品天堂一级| 中文字幕久久熟女蜜桃| 精品无人区卡一卡二卡三乱码免费卡| 在这里有精品| 中文一区一区三区高中清不卡免费| 艳妇乳肉亭妇荡乳av| 福利片在线观看| 一区二区三区免费看视频| 中文字幕一区二区不卡| 在线精品国产| 免费看污网站| 久久免费看视频| 最近2019年好看中文字幕视频| 麻豆视频免费看| 久久青草久久| 97在线观看免费| 亚洲乱码国产乱码精品精可以看| 污片在线观看一区二区| 成人免费观看视频在线观看| 999国产精品视频| 国产suv精品一区二区四区视频| 欧洲一区二区在线| 精品一区在线观看视频| 99电影网电视剧在线观看| 亚洲乱码国产乱码精品精98午夜| 欧美卡1卡2卡| 美女视频网站久久| 亚洲欧美日韩精品综合在线观看| 成人av观看| 国产麻豆一区二区三区| 久久国产欧美精品| 国产农村妇女精品一区| 亚洲视频观看| 久久久成人的性感天堂| 午夜视频在线观看精品中文| 韩国一区二区电影| 亚洲狠狠婷婷综合久久久久图片| 91精品国产闺蜜国产在线闺蜜| 亚洲18色成人| 九九热播视频在线精品6| av在线播放亚洲| 精品国产麻豆免费人成网站| 国产黄色片免费在线观看| 久久密一区二区三区| 久久精品免费一区二区| 亚洲精品tv久久久久久久久久| 国产成人精品网址| 91成人福利社区| 你懂的免费在线观看视频网站| 亚洲三区四区| 怡红院男人的天堂| 精品av中文字幕在线毛片| 亚洲激情视频小说| 99精品国产高清一区二区麻豆| 欧美午夜精品一区二区三区| 天天插天天干天天操| 欧美亚洲国产一区在线观看网站| 国产免费永久在线观看| 日韩精品第1页| 国产无码精品一区二区| 日本最黄一级片免费在线| 一本不卡影院| 91精品国产乱码久久久久久久| 国产亚洲依依| 91久久久免费一区二区| fc2ppv国产精品久久| 成人免费在线播放| 日日碰狠狠躁久久躁婷婷| 在线观看日韩羞羞视频| 久久伊人色综合| 欧美一级爱爱| 日韩第二十一页| 狠狠人妻久久久久久| 高清无码视频直接看| 7878视频在线观看| 美丽的姑娘在线观看免费动漫| 久久蜜桃av一区精品变态类天堂| av观看在线免费| 成人免费一区二区三区牛牛| 国产夫妻在线| 成人免费毛片糖心| 国产在线播放不卡| 亚洲福利视频二区| 国产欧美日韩成人| 精品人妻一区二区三区视频| 色大师av一区二区三区| 国产精品视频免费一区| 不卡中文字幕在线| 韩日精品在线| 亚洲欧美色图小说| 婷婷久久国产对白刺激五月99| 国产精品xxx电影| 国产成a人无v码亚洲福利| 国产精品原创| 亚洲精品2区| 久久亚洲精品石原莉奈| 国产一区av在线| 国产一级网站视频在线| 欧美黄色一区二区三区| 麻豆免费在线观看| 国模私拍在线观看| 99视频免费观看| 在线观看av的网址| 免费人成网站在线观看欧美高清| 蜜乳av另类精品一区二区| 911精品美国片911久久久| 天天av天天翘天天综合网| 中文字幕日本三级| 亚洲欧美中文日韩在线| 中文字幕久久久| 亚洲免费影视| metart日本精品嫩模| 不卡一区2区| 精品999在线| 日韩中文字幕在线精品| 快色在线观看| 中文在线资源观看网站视频免费不卡| 成人黄色短视频| 免费观看的毛片| 国产精品久久久久久久第一福利| 日日夜夜精品视频免费观看| 久久亚洲国产成人精品性色| 91成人在线网站| 国产精品久久久久影院色老大| 性欧美在线看片a免费观看| 亚洲乱码一区av黑人高潮| 水蜜桃亚洲一二三四在线| 国产精品一区在线观看你懂的| 国产成人精品免费视频大全软件| 国产日韩在线视频| 国产综合在线看| 日韩av免费在线| 欧美日韩大片在线观看| 日韩av在线免费观看一区| 性一交一乱一透一a级| 亚洲最新免费视频| 97视频免费在线看| 欧美精品久久久久久久久久| 亚洲成人久久影院| 亚洲婷婷丁香| 99国产精品白浆在线观看免费| 丁香另类激情小说| 亚洲视频手机在线观看| 色综合久综合久久综合久鬼88| 丰满女人性猛交| 欧美特黄一区| 在线观看黄色国产| 最近中文字幕第一页| 丁香六月激情综合| 精品亚洲aⅴ在线观看| 亚洲精品tv久久久久久久久| 精品一区二区三区在线观看国产| 加勒比一区二区三区在线| 欧美资源一区| 久久国产视频精品| 深夜福利视频一区二区| 欧美一区二区啪啪| 久久久久久久久久看片| www国产91| 女人18毛片毛片毛片毛片区二| 四虎地址8848精品| 亚洲欧美另类久久久精品| 最新日本中文字幕| 99中文字幕| 欧美国产另类| 2018亚洲男人天堂| 色视频一区二区三区| 色妞色视频一区二区三区四区| 久久久久久久国产精品毛片| 亚洲男人天天操| 97欧美在线视频| 三级黄色视屏| 亚洲三区欧美一区国产二区| 久久av老司机精品网站导航| 欧美性猛片xxxx免费看久爱| 国产大片中文字幕在线观看| 羞羞视频网站在线免费观看| 谁有免费的黄色网址| 悠悠资源网久久精品| av片在线观看免费| 成人欧美一区二区三区在线| 国产高清免费在线| 国产乱女淫av麻豆国产| 午夜欧美在线一二页| 欧美日韩在线精品一区二区三区激情综合| 欧美日韩精品福利| 色哟哟国产精品| 多男操一女视频| 黑人性受xxxx黑人xyx性爽| 美女福利网站视频在线观看| 成人看片黄a免费看在线| 69av成人| 国产精品成人无码| 九色综合婷婷综合| 人人爽人人爽人人片| 久久久久在线观看| 精品一区二区视频在线观看| 1stkiss在线漫画| 小泽玛利亚一区二区三区视频| 国产一区久久精品| 视频一区二区三区四区五区| 一区二区三区欧美久久| 国产一区二区三区免费在线| 日韩av免费| 99热都是精品| 欧美草草影院在线视频| 国产专区欧美专区| 久久九九热免费视频| 久久精品国内一区二区三区水蜜桃| 国产盗摄xxxx视频xxx69| 一级黄色大片网站| 日本电影全部在线观看网站视频| 国产精品嫩草影院桃色| bt7086福利一区国产| 不要播放器的av网站| 娇妻被老王脔到高潮失禁视频| 日韩精品一区二区三区四| 99se婷婷在线视频观看| 精品在线观看一区二区| 涩涩视频在线免费看| 国产成人午夜视频网址| 久久www视频| 91黄视频在线观看| 黄色av中文字幕| 日韩高清dvd碟片| 亚洲男人第一av网站| 青青草自拍偷拍| 五月天亚洲激情| 无码免费一区二区三区| 好吊妞视频这里有精品| 日韩欧国产精品一区综合无码| 性欧美丰满熟妇xxxx性仙踪林| 美国黄色片视频| 色噜噜狠狠一区二区三区| 国产婷婷精品| 精选一区二区三区四区五区| 午夜免费啪视频观看视频| 在线免费观看视频网站| 无码日本精品xxxxxxxxx| 久久理论电影| 国产日本欧美在线观看| 欧美日韩黄色影视| www.国产精品| 色婷婷国产精品久久包臀| 青青草视频在线免费观看| 91国产在线播放| 国产成人tv| 狠狠综合久久av一区二区老牛| 国产又黄又爽又无遮挡| 高清视频在线观看三级| 国产精品一区二区三区四| 99久精品国产| 亚洲免费网站观看视频| 亚洲国产精品久久久久久| 欧美日韩国产一级二级| 天天操天天操天天操天天| 天天做综合网| 林ゆな中文字幕一区二区| 丝袜美腿诱惑一区二区三区| 四虎影视成人永久免费观看视频| 亚洲国产日韩一级| 久久综合五月天| 色多多国产成人永久免费网站| 国产福利精品一区二区三区| 粉嫩tv在线播放| 99鲁鲁精品一区二区三区| 女仆av观看一区| 日本久久久久久久久久| 丝袜a∨在线一区二区三区不卡| 69久久夜色| 97超级碰在线看视频免费在线看| 久久草.com| 图片区日韩欧美亚洲| 26uuu国产电影一区二区| 佐山爱在线视频| 九色porny视频在线观看| 久久久久久久久久久久久久久国产| 深夜国产在线播放| 日本在线观看大片免费视频| 国产一区二区三区播放| 中文字幕在线看精品乱码| 欧美日溪乱毛片| 精品熟妇无码av免费久久| 久久久久99精品成人片三人毛片| 一区二区在线观| 91久久久亚洲精品| 国产av无码专区亚洲av毛网站| 久久久久久日产精品| 天天干夜夜操| 成**人特级毛片www免费| 国产无码精品在线播放| 欧美三级在线播放| 黄色精品在线看| 两个人免费视频观看日本| 中文字幕在线网址| 国产在线激情视频|