当前位置: 首页 > news >正文

golang 设置http请求代理

tinypoxy 搭建http代理服务可参考:tinyproxy搭建http代理_wangxiaoangg的博客-CSDN博客

需求背景:

项目需要访问一国外服务接口,地址被墙。购买香港ecs服务器,并在上面搭建http代理服务。

一 使用http和https代理

func main() {proxyUrl, _ := url.Parse("http://127.0.0.1:8888")client := &http.Client{Transport: &http.Transport{Proxy: http.ProxyURL(proxyUrl),//其中InsecureSkipVerify参数用于跳过https证书验证。TLSClientConfig: &tls.Config{InsecureSkipVerify: true,},},}resp, err := client.Get("https://www.baidu.com")if err != nil {fmt.Println(err)return}defer resp.Body.Close()body, err := ioutil.ReadAll(resp.Body)if err != nil {fmt.Println(err)return}fmt.Println(string(body))
}

二 使用socks5代理

socks5代理有更好的安全性和匿名性。

func main() {//其中proxy.SOCKS5可以指定socks5代理地址dialer, err := proxy.SOCKS5("tcp", "127.0.0.1:1888", nil, proxy.Direct)if err != nil {fmt.Println(err)return}//发起网络请求httpClient := &http.Client{Transport: &http.Transport{Dial: dialer.Dial}}resp, err := httpClient.Get("http://www.google.com")if err != nil {fmt.Println(err)return}defer resp.Body.Close()body, err := ioutil.ReadAll(resp.Body)if err != nil {fmt.Println(err)return}fmt.Println(string(body))
}

http://www.lryc.cn/news/104003.html

相关文章:

  • 我的会议(会议通知)
  • css实现水平居中
  • c刷题(一)
  • webpack
  • 反复 Failed to connect to github.com port 443 after xxx ms
  • ARM裸机-11
  • centos7升级glibc
  • 【OnnxRuntime】在linux下编译并安装C++版本的onnx-runtime
  • C#基于OpenCv(OpenCvSharp) 的 fftshift, ifftshift 函数的实现
  • 【SpringBoot】笔记2
  • Spring事务传播机制详细讲解
  • kubernetes 集群搭建(kubeadm 方式)
  • 基于ARM+FPGA的驱控一体机器人控制器设计
  • docker 安装 字体文件
  • Vue.js与ASP.NET的结合,实现企业级应用的开发和部署
  • Uncaught SyntaxError: ‘‘ string literal contains an unescaped line break
  • Vue3+Vite+TypeScript常用项目模块详解
  • 数字电路(一)
  • Oracle也有回收站
  • 投稿注意!APA格式超全示例详解,原本28天能录用,可能要拖延2个月
  • 【Python】Web学习笔记_flask(1)——模拟登录
  • css单行文本省略号多行文本省略号
  • 信号槽中的函数重载
  • 计算机视觉(五)深度学习基础
  • ES6学习-Generator
  • Flowable-服务-微服务任务
  • opencv03-补充-vector的操作
  • 二叉树(C语言)
  • 介绍下Django中的表单(forms)模块中的类forms.CharField
  • 元宇宙与数字孪生的异同?