开发者社区> laijh_go> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

go语言使用代理ip来访问

简介: go语言使用代理ip
+关注继续查看
package main

import (
    "net/url"
    "github.com/lunny/log"
    "net/http"
    "time"
    "fmt"
    "io/ioutil"
)

func main() {
    proxyAddr := "http://125.46.0.62:53281/"
    httpUrl := "http://134.175.165.18:8000/get_ip"
    proxy, err := url.Parse(proxyAddr)
    if err != nil {
        log.Fatal(err)
    }
    netTransport := &http.Transport{
        Proxy:http.ProxyURL(proxy),
        MaxIdleConnsPerHost: 10,
        ResponseHeaderTimeout: time.Second * time.Duration(5),
    }
    httpClient := &http.Client{
        Timeout: time.Second * 10,
        Transport: netTransport,
    }
    res, err := httpClient.Get(httpUrl)
    if err != nil {
        log.Println(err)
        return
    }
    defer res.Body.Close()
    if res.StatusCode != http.StatusOK {
        log.Println(err)
        return
    }
    c, _ := ioutil.ReadAll(res.Body)
    fmt.Println(string(c))
}

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Golang设置代理
Golang设置代理GOPROXY和GOSUMDB
964 0
dotweb——go语言的一个微型web框架(三)路由注册
上一章我们讲了如何启动一个dotweb程序,本篇文章将介绍如何注册路由。 router是dotweb用来管理路由的结构体,它提供了一些关于路由操作函数。 app := dotweb.New() router := app.HttpServer.Router() 在上一篇文章中我们讲了dotweb.New()的用处,HttpServer负责处理请求,管理路由、session、中间件等等功能。
984 0
go语言学习与面向对象再思考
据说Smalltalk发明者Alan Kay就曾经说过: 我发明了面向对象,而我可以告诉你C++并不是我头脑里所想的东西. 面向对象的困惑 计算机里面只有数据和算法,数据用于对现实世界抽象建模,算法对数据演算,这已经很好,怎么出来一个面向对象这个"怪胎". 面向对象教学每次都要从对现实世
1912 0
Go语言标准库之log包
用来作日志log输出的, 比较易懂。 今天周六啊,在公司加班学习一下呀。 package main import ( "log" ) func init() { log.
1147 0
Go语言之切片
切片也是一种数据结构,它和数组非常相似,因为他是围绕动态数组的概念设计的,可以按需自动改变大小,使用这种结构,可以更方便地管理和使用数据集合。 内部实现 切片是基于数组实现的,它的底层是数组,它自己本身非常小,可以理解为对底层数组的抽象。
633 0
+关注
laijh_go
三年编程经验,热爱技术,专注GO语言相关技术,喜欢研究算法实现
36
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载