1

分享一个稳定好用的国外代理

 1 year ago
source link: https://cuiqingcai.com/36066.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

分享一个稳定好用的国外代理

崔庆才 2023-05-29技术杂谈 160 4k 4 分钟

许多朋友问我有没有好用的海外代理。说实话,真的好用的并不多。

最近我了解到了一家还不错的海外代理,叫做 IPIDEA,我已经使用了一段时间了,觉得质量挺不错。

你可能知道,我最近在进行一些 ChatGPT 相关的研究,由于各种原因,我需要大量的海外代理才能够使用服务,这个代理实在是帮了我大忙。如果你有需要的话,可以参考下面我对这家代理的使用体验来选购。

首先,我介绍一下这家代理的一些特点。他们并不像国内的很多代理厂商一样提供的是一些国内代理。这家代理主要提供海外代理,因此他们的用户大部分是有海外代理使用需求的人。比如说,最近非常火爆的 ChatGPT,就对这类服务有很大的需求。

这家代理的官方网站是 http://www.ipidea.net/?utm-source=cqc&utm-keyword=?ipidea。从他们的介绍可以看到,他们是一家全球范围的 IP 代理服务商,能覆盖全球 220 个国家和地区,大部分代理实际上是住宅 IP。

官方介绍这家的代理 IP 数量大约是九千万左右,这个数量非常庞大,同时官方介绍说代理的可用率是 99.9%。

下面我们来看一下他们的一些套餐类型:

  • 动态住宅代理:这种代理实际上就是用真实的住宅用户的 IP 搭建的代理。一般来说,住宅代理对于很多场景的使用封禁概率会比较低,因为很多厂商对封禁住宅代理是比较谨慎的。动态住宅代理其实就是可以定时切换的 IP,比如说做网络爬虫,我们就需要不断变换的不同的代理 IP,这样可以进一步的减少被封禁的概率。
  • 静态住宅代理:相对于动态代理来说,静态住宅代理的特点就是长效稳定,可以一直获取一个稳定不变的代理 IP,适合长久的稳定的海外网络环境使用。比如说,我们要进行自动化网站的爬取,如果在一个页面内 IP 地址频繁变动会增大被风控的概率。所以,如果有一个长效稳定的住宅 IP 代理,就会非常方便。
  • 数据中心代理:这种代理实际上是很多服务器厂商的服务器搭建起来的代理。例如腾讯云、阿里云、微软云等服务器所在的 IP 地址段,就属于所谓的数据中心的 IP 地址段。因此,用这些服务器搭建出来的代理就叫做数据中心代理。一般来说,这种数据中心代理相对于住宅代理更容易被爬虫封禁,但是这种代理的优势就是价格更加便宜,而且网络速度也会相对较好。

基本上,这家代理服务商涵盖了上述这三种类型,大家可以根据自己的需要来选择购买。

首先,如果要使用代理的话,第一步自然是注册和登录,

这里值得一提的是,这家代理支持免费的测试,不需要一定充值才能用,就官网直接注册就可以获得一些免费额度:

2j10gy.png

注册和登录的详细流程我就不赘述了,注册登录完之后还需要进行实名认证才能开始使用代理。

下面,我会简单介绍一下这个代理服务的基本使用方法。你可以点击菜单上方的 “获取代理”,然后会跳转到以下页面。

https://www.ipidea.net/getapi/

这里的代理使用方式分为两种,第一种是 API 提取的方式,第二种是隧道代理。下面我会先介绍第一种,即 API 提取的方式。

如图所示,我们切换到 API 提取方式的介绍页面,这里有三个子菜单:全球动态、独享数据中心、静态住宅。这三种类型我已在前面的介绍中涉及过,就不再详述。

72xe3u.png

以全球动态这一菜单为例,你可以看到页面下方显示了当前账户的余额和一些流量信息。再下方则是 API 提取的相关配置。

下面有许多配置选项,如提取数量、国家和地区、协议、数据格式、分隔符等,我们可以按需选择,然后点击按钮生成提取链接。

生成提取链接后,系统会自动提示是否加入白名单,因为这家代理商要求必须添加白名单才能使用代理。然后我们可以在右侧找到 API 提取的链接。

打开这个链接,我们就可以获取一部分代理的 IP 和端口信息。因为我们刚刚添加了白名单,所以当前这台主机可以直接提取。

48pusn.png

后面的步骤我就不再赘述,我们可以直接使用爬虫将代理设置上,然后进行网站的爬取。

第二种就是隧道代理,简单来说,我们在设置代理时不需要知道具体的 IP 和端口。这个代理隧道可以帮助我们自动选择可用的代理,我们只需要设置一条固定的代理即可。

poq7t0.png

在下方有相应的教程,你可以看到这里有动态、长效 ISP 和动态数据中心这三种选项。

使用方法类似,我们可以在下方自由选择配置,然后进行代理隧道的设置。

在左侧选择完后,右侧会出现对应的命令行,我们可以直接复制这个命令完成代理的测试。

owt8is.png

你可以看到这里,我们请求了一个测试网站,然后测试网站就可以将当前代理 IP 的相关信息打印出来。

这里值得注意的是,如果要使用这个代理,需要在海外环境中。在国内环境是无法使用的。

接下来,我将简单分享一下我使用这些代理的过程。

近期,我在研究 ChatGPT 相关服务的搭建,因此在这个过程中,我确实有很多使用代理的需求。

动态数据中心 / 全球动态

我将动态数据中心和全球动态一起进行说明,因为它们的使用方式基本相同,二者的区别在于前者主要提供数据中心的代理 IP,而后者主要提供动态的住宅代理。因此,前者的价格相对较低,而后者的价格和质量则相对较高。

我使用这些代理的主要场景是搭建 ChatGPT 相关的 API,但这个 API 并非使用官方 OpenAI 的 key,而是用爬虫模拟网页的方式实现的。如果你感兴趣的话,可以了解一些开源项目,例如 https://github.com/acheong08/ChatGPT,该项目的 V1 版本就是采用爬虫模拟网页形式实现 API 服务的。

那么,为什么我们需要代理呢?

实际上在这个服务背后,我们需要一个可以绕过 Cloudflare 网关的服务,而搭建这个网关就需要大量的动态代理,这样我们就可以突破单个 IP 地址请求 OpenAI 服务的限制。

如果你感兴趣,可以了解一些开源的实现,如 https://github.com/acheong08/ChatGPT-Proxy-V4

在这个服务背后,你会注意到有一个代理设置:

func main() {

if http_proxy != "" {
client.SetProxy(http_proxy)
println("Proxy set:" + http_proxy)
}

PORT := os.Getenv("PORT")
if PORT == "" {
PORT = "9090"
}
handler := gin.Default()
handler.GET("/ping", func(c *gin.Context) {
c.JSON(200, gin.H{"message": "pong"})
})

handler.Any("/api/*path", proxy)

gin.SetMode(gin.ReleaseMode)
endless.ListenAndServe(os.Getenv("HOST")+":"+PORT, handler)
}

其中,http_proxy 参数可以设置为我们前面提到的隧道代理。例如:

export http_proxy="http://mAZFcgDR-zone-custom-region-us:<password>@na.ipidea.io:2336"

这样,我们就成功地将 IPIDEA 的隧道代理进行了设置。

一旦服务运行起来,由于代理本身是全球动态或者动态数据中心,因此里面的代理 IP 会动态变化。这样,对于单个账号来说,每次请求 OpenAI 的 IP 都在变化,就可以解除单个账号访问的限制。

注意:我请求 OpenAI 是用的 access_token 的方式,目前并不会造成账号被封的问题。

动态长效 ISP

我们刚才讨论了通过 API 请求方式的隧道代理设置,这种方式相对方便。但在某些情况下,我们实际上想要的是更稳定、长效的代理,即动态长效 ISP。

我通常会将这种代理用于一些模拟登录服务。由于我需要使用浏览器进行这些服务,如果我将浏览器设置为一个动态切换的隧道代理,那么在一次网页请求中,所有请求的 IP 地址都可能是不同的。因此,我们实际上希望在同一浏览器会话下,IP 地址能够保持相对稳定。

于是,动态长效 ISP 就能派上用场。我通常使用模拟浏览器驱动的方式来启动浏览器,然后动态设置代理 IP 为动态长效 ISP。设置完成后,我便可以启动浏览器进行网页模拟,比如登录模拟 GPT 网站等。

下面是一个简单的 Playwright 的代理设置样例:

def init_browser(self):
self.browser = p.chromium.launch(headless=False, proxy={
'server': "http://proxy.ipidea.io:2336",
"username": "mAZFcgDR-zone-isp-session-2146kz42f-sessTime-5",
"password": "<password>"
})
self.page = self.browser.new_page()

浏览器设置完成后,我就可以执行一些自动化操作,比如模拟登录 ChatGPT、模拟登录其他网站等。在这个过程中,我几乎没有遇到不可用的情况,可用率非常高。

有了这个动态长效 ISP,我成功完成了大量 ChatGPT 账号的模拟登录过程,可谓是非常方便!

好了,到这里我这篇文章就接近尾声了。

我们来回顾下这篇文章的内容,首先对 IPIDEA 做了基本介绍,然后介绍了基本的使用方法以及我自己的使用体验。

整个体验下来我觉得还是挺顺的,没有遇到什么无法访问的时候,整个访问速度也不错。

如果你也有海外代理的需求,我非常建议你也来试试看。

非常感谢你的阅读,更多精彩内容,请关注我的公众号「进击的 Coder」和「崔庆才丨静觅」。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK