在go语言中设置源IP地址后在发出HTTP请求示例

2023-06-01 00:00:00 示例 请求 发出

向一个服务器发出HTTP请求之前,在另一台机器上使用某些IP地址(比如有权限在防火墙外连接的那个)。这类似于wget的绑定命令。

例如:

wget --bind-address=192.168.1.100 \

如何在go语言中做到这一点?

注意:

这不是为了掩盖或欺骗你的 IP 地址。


解决方案:

建立你自己的HTTP传输客户端,并指定有权限在防火墙外连接的本地IP地址。


代码示例:

 package main
 import (
         "fmt"
         "io/ioutil"
         "net"
         "net/http"
         "os"
         "time"
 )
 func main() {
 
             //要使用的本地IP地址
         OKAddr := "<change here>" 
         OKAddress, _ := net.ResolveTCPAddr("tcp", OKAddr)
         transport := &http.Transport{
                 Proxy: http.ProxyFromEnvironment,
                 Dial: (&net.Dialer{
                         Timeout:   30 * time.Second,
                         KeepAlive: 30 * time.Second,
                         OKAddr: OKAddress}).Dial, TLSHandshakeTimeout: 10 * time.Second}
         
         client := &http.Client{
                 Transport: transport,
         }
         
         resp, err := client.Get("https://www.zongscan.com/mysendemail")
         if err != nil {
                 panic(err)
         }
         
         defer resp.Body.Close()
         html, err := ioutil.ReadAll(resp.Body)
         if err != nil {
                 panic(err)
         }
         
         // fmt.Println(os.Stdout, string(html))
         // 在go语言中实现下载图片文件的示例 - https://www.zongscan.com/demo333/96161.html
 }

相关文章:

 在go语言中实现下载图片文件的示例

https://www.zongscan.com/demo333/96161.html

相关文章