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

golang实现正向代理http_proxy和https_proxy

package mainimport ("bytes""fmt""io""log""net""net/url""strings"
)func main() {// tcp 连接,监听 8080 端口l, err := net.Listen("tcp", ":8080")if err != nil {log.Panic(err)}// 死循环,每当遇到连接时,调用 handlefor {client, err := l.Accept()if err != nil {log.Panic(err)}go handle(client)}
}func handle(client net.Conn) {if client == nil {return}defer client.Close()log.Printf("remote addr: %v\n", client.RemoteAddr())// 用来存放客户端数据的缓冲区var b [1024]byte//从客户端获取数据n, err := client.Read(b[:])if err != nil {log.Println(err)return}var method, URL, address string// 从客户端数据读入 method,urlfmt.Sscanf(string(b[:bytes.IndexByte(b[:], '\n')]), "%s%s", &method, &URL)hostPortURL, err := url.Parse(URL)if err != nil {log.Println(err)
http://www.lryc.cn/news/438296.html

相关文章:

  • 数字IC设计\FPGA 职位经典笔试面试--整理
  • Golang协程泄漏定位和排查
  • 【我的 PWN 学习手札】Unlink Attack
  • 算法笔试-编程练习-好题-04
  • 使用Rustup快速无缝升级Rust
  • pytorch qwen2-vl自定义数据全量微调
  • 切换淘宝最新npm镜像源是
  • 全国历年高考真题2008-2024
  • 【vue-media-upload】一个好用的上传图片的组件,注意事项
  • linux第一课(操作系统核心)
  • 【期末复习】软件项目管理
  • C# List定义和常用方法
  • 如何在实际应用中更好地利用字典功能提高开发效率?
  • Windows 环境下 vscode 配置 C/C++ 环境
  • [通信原理]绪论2:信息量 × 信息熵
  • TCP套接字【网络】
  • 【devops】devops-git之github使用
  • GPT对话知识库——串口通信的数据的组成?起始位是高电平还是低电平?如何用代码在 FreeRTOS 中实现串口通信吗?如何处理串口通信中的数据帧校验吗?
  • 从头开始学MyBatis—02基于xml和注解分别实现的增删改查
  • AI音乐创作的新时代:从创意到旋律的智能化转型
  • Spring Boot集成Akka remoting快速入门Demo
  • JVM 调优篇7 调优案例1-堆空间的优化解决
  • 文件格式转换:EXCEL和CSV文件格式互相转换
  • 基于协同过滤的北京森林公园推荐---附源码74454
  • 002 JavaClent操作RabbitMQ
  • lablelme标注的数据转成YOLO v8 格式
  • 【linux】cat 命令
  • 速通sass基础语法
  • Vue: watch5种监听情况
  • Android 车联网——汽车系统介绍(附2)