Skip to content
intermediate

在 Linux 上通过 cURL 和 Python 使用 ChangeMyIP 住宅代理

一份实用的 Linux 指南,介绍如何通过 cURL 和 Python Requests 使用 ChangeMyIP 住宅代理发送 HTTP 和 SOCKS5 流量。

Linux SOCKS5 HTTP(S) 网页抓取

概述

本教程介绍如何从 Linux 命令行工具和 Python 脚本使用 ChangeMyIP 住宅代理。ChangeMyIP 提供住宅和数据中心代理、轮换 IP 以及多种协议,包括 HTTP 和 SOCKS5。你需要 ChangeMyIP 代理主机、端口、用户名和密码。示例使用环境变量,因此凭据不会硬编码到脚本中。

步骤

  1. 登录 ChangeMyIP 并选择一个住宅代理端点。记下主机、端口、用户名和密码。
  2. 打开终端并导出你的凭据: export CMY_HOST=your-host export CMY_PORT=your-port export CMY_USER=your-username export CMY_PASS=your-password
  3. 使用 cURL 测试 HTTP 代理: curl -x http://$CMY_USER:$CMY_PASS@$CMY_HOST:$CMY_PORT https://ifconfig.me
  4. 使用 cURL 测试 SOCKS5 代理: curl --socks5-hostname $CMY_USER:$CMY_PASS@$CMY_HOST:$CMY_PORT https://ifconfig.me
  5. 对于 Python,安装 Requests 和 SOCKS 依赖: pip install requests requests[socks]
  6. 创建一个 Python 脚本,读取环境变量并通过 HTTP 代理发送请求: proxies = {'http': f'http://{user}:{password}@{host}:{port}', 'https': f'http://{user}:{password}@{host}:{port}'} requests.get('https://ifconfig.me', proxies=proxies, timeout=30)
  7. 在 Python 中使用 SOCKS5,请使用相同的凭据,并将代理 URL 设为 socks5h://。
  8. 如果你的 ChangeMyIP 套餐提供轮换 IP,请使用账户中的轮换端点自动更改出口 IP。否则,在固定端点之间切换。
  9. 添加重试和超时以处理代理错误,并仅在适合你的用例时轮换 User-Agent。
  10. 通过检查返回的 IP 和国家/地区来验证每个响应。这可以确认流量正通过 ChangeMyIP 离开。