golang 开启HTTP代理认证

news/2025/2/8 17:04:08 标签: golang, http, 开发语言
http://www.w3.org/2000/svg" style="display: none;">

内部网路不能直接访问外网接口,可以通过代理发送HTTP请求。
HTTP代理服务需要进行认证。

package cmd

import (
	"fmt"
	"io/ioutil"
	"log"
	"net/http"
	"net/url"
	"strings"
)

// 推送CBC07功能
func main() {
	log.Println("开启http代理服务...")
	proxyURL, err := url.Parse("http://username:password@proxyServerIp:port")
	if err != nil {
		fmt.Println("Failed to parse proxy URL:", err)
		// return err
		return
	}

	// 创建 HTTP 客户端并设置代理
	httpClient := &http.Client{
		Transport: &http.Transport{
			Proxy: http.ProxyURL(proxyURL),
		},
	}
	log.Println("开启请求推送...")
	urls := "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=123456"
	method := "POST"

	payload := strings.NewReader(` 
				{
					"chatid": "CHATID",
					"msgtype":"image",
					"image":{
						"media_id": "media_id"
					},
					"safe":0
				} 
				
   `)

	log.Println("开启请求服务...")
	// client := &http.Client{}
	req, err := http.NewRequest(method, urls, payload)

	if err != nil {
		fmt.Println(err)
		return
	}
	req.Header.Add("Content-Type", "application/json")

	log.Println("执行请求中...")
	res, err := httpClient.Do(req)
	if err != nil {
		fmt.Println(err)
		return
	}
	defer res.Body.Close()
	log.Println("读取响应:")
	body, err := ioutil.ReadAll(res.Body)
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println(string(body))
}



http://www.niftyadmin.cn/n/5845123.html

相关文章

DeepSeek Window本地私有化部署

前言 最近大火的国产AI大模型Deepseek大家应该都不陌生。除了在手机上安装APP或通过官网在线体验,其实我们完全可以在Windows电脑上进行本地部署,从而带来更加便捷的使用体验。 之前也提到过,本地部署AI模型有很多好处,比如&…

【排序算法】桶排序

不能排序负数,适合数据较小但数据量较大的时候使用。 定义了0-9十个桶,先排序个位,向高位排序首先,拿到数值后,先看个位,个位是几就放到对应的桶,以队列的形式进行排列。从0-9取出数据&#xff…

1、k8s基本概念

k8s概述 用于自动部署,自动扩展和管理“容器化应用程序”的开源系统。k8s是google基于go语言开发的自动化运维管理容器。 k8s的全称:kubernetes k8s的版本:1.20------------用的最多的版本,1.18-1.21(1.24---------…

深浅拷贝~

深浅拷贝:直接赋值给的是地址,如果修改赋值后的变量,实际上连同原变量的值一并修改了。 浅拷贝 展开运算符 {...obj} 拷贝对象 Object.assign(新,旧) 深拷贝 递归:自己调用自己 以下实际是浅拷贝 递归调用处理数组问题…

从零开始:CentOS 7系统中Docker的安装与卸载全记录

准备工作 检查系统环境,确认你的操作系统是CentOS 7,并且处于最新状态(包括更新软件包) 使用cat命令来查看/etc/centos-release文件的内容。这个文件包含了CentOS操作系统的版本信息。 打开终端。输入以下命令并按下回车键&…

web前端对于后台界面的开发(综合运用)

<!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>后台管理系统首页</title><link rel"…

Docker安装pypiserver私服

Docker安装pypiserver私服 1 简介 Python开源包管理工具有pypiserver、devpi和Nexus等&#xff0c;pypiserver安装部署比较简单&#xff0c;性能也不错。 搭建pypiserver私服&#xff0c;可以自己构建镜像&#xff0c;也可以使用官网的docker镜像。 # Github地址 https://g…

Docker在安装时遇到的问题(第一部分)

一、在用docker-config-manager安装yum源时出现错误 [rootlocalhost ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 已加载插件&#xff1a;fastestmirror, langpacks adding repo from: https://download.docker.com/linux/ce…