Golang使用自定义IP请求https

embedded/2024/10/19 11:45:19/

可以自定义 TLSClientConfig 的 ServerName 字段,并使用自定义的 DialContext 函数来控制连接到指定 IP
代码如下

func main() {// 定义目标站点的域名和IP地址domain := "www.baidu.com"ip := "183.2.172.42" // 该 IP 地址对应 baidu.com// 创建自定义的HTTP客户端client := &http.Client{Timeout: 5 * time.Second,Transport: &http.Transport{TLSClientConfig: &tls.Config{ServerName: domain, // 设置服务器名},DialContext: func(ctx context.Context, network, addr string) (net.Conn, error) {// 目标地址是指定的IP,使用自定义Dialer连接return (&net.Dialer{Timeout:   5 * time.Second,KeepAlive: 30 * time.Second,}).DialContext(ctx, "tcp", ip+":443")},TLSHandshakeTimeout: 5 * time.Second,},}// 发送HTTPS请求resp, err := client.Get("https://" + domain + "/")if err != nil {fmt.Printf("无法连接到 %s: %v\n", domain, err)return}defer resp.Body.Close()// 读取响应内容body, err := io.ReadAll(resp.Body)if err != nil {fmt.Printf("无法读取响应: %v\n", err)return}// 输出响应内容fmt.Println("响应内容:", string(body))
}

http://www.ppmy.cn/embedded/28552.html

相关文章

【Go语言快速上手(六)】管道, 网络编程,反射,用法讲解

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:Go语言专栏⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习更多Go语言知识   🔝🔝 GO快速上手 1. 前言2. 初识管道3. 管…

如何处理微服务之间的通信和数据一致性?

✨✨祝屏幕前的兄弟姐妹们每天都有好运相伴左右,一定要天天开心哦!✨✨ 🎈🎈作者主页: 喔的嘛呀🎈🎈 目录 引言 一、微服务通信 1、同步通信:HTTP 1.1.同步通信示例代码&#x…

RK3568 学习笔记 : busybox 制作 ext4最小根文件系统

前言 开发板型号: 【正点原子】 的 RK3568 开发板 AtomPi-CA1 使用 VMware 虚拟机 ubuntu 20.04 编译 busybox,并制作 emmc 中的 ext4 根文件系统 rootfs 下载 busybox 可以在 https://busybox.net/downloads/snapshots/ 下载最新的 busybox&#xff…

iOS 模拟请求 (本地数据调试)

简介 在iOS 的日常开发中经常会遇到一下情况:APP代码已编写完成,但后台的接口还无法使用,这时 APP开发就可能陷入停滞。此时iOS 模拟请求就派上用场了,使用模拟请求来调试代码,如果调试都通过了,等后台接口…

redis7 for windows的安装教程

本篇博客主要介绍redis7的windows版本下的安装教程 1.redis介绍 Redis(Remote Dictionary Server)是一个开源的,基于内存的数据结构存储系统,可用作数据库、缓存和消息代理。它支持多种数据结构,如字符串、哈希表、列…

C语言如何⽤ const 控制指针?

一、问题 使⽤ const 关键字可以定义⼀个符号常量,那么如何使⽤ const 来控制指针呢? 二、解答 在定义指针变量的时候,也可以通过 const 关键字来限制对指针变量的值的修改,或者是限制对指针变量所指向数据的修改。例如&…

237基于matlab的偏振态仿真

基于matlab的偏振态仿真,不同偏振态下光强计算。本仿真软件可以仿真波片对偏振光的相位调制过程。用户可以通过改变波片的类型,波片长轴与 X 轴的夹角,起偏器透光与 X 轴的夹角,检偏器透光轴与 X 轴的夹角等参数,来观察…

R语言 统计篇之T-test 检验

《Cookbook for R》 Statistical Analysis 数据统计篇之 T-test 检验 当你想测试两个样本是否来自均值不同的群体 或者测试一个样本是否来自均值不同于某个理论均值的群体。 示例数据:R内置数据集 sleep sleep #> extra group ID #> 1 0.7 1 1 #…