跳转到内容

HTTP/Socks5 网络代理

为确保脚本在全球范围内稳定访问目标网站,平台会在运行时提供一条加密通道(代理服务器)。

脚本无需自行购买或维护代理,只需读取平台注入的代理认证信息,并在 HTTP 请求中正确配置即可。

  • 协议SOCKS5
  • 域名proxy-inner.coreclaw.com:6000
  • 认证方式
    • 环境变量名:PROXY_AUTH
    • 格式:username:password
  • 费用说明:平台内置提供,无需额外付费或单独配置
import os
import requests
# 1. Proxy service address
proxyDomain = "proxy-inner.coreclaw.com:6000"
# 2. Get proxy credentials (automatically injected by the platform)
try:
proxyAuth = os.environ.get("PROXY_AUTH")
print(f"Proxy credentials: {proxyAuth}")
except Exception as e:
print(f"Failed to get proxy credentials: {e}")
proxyAuth = None
# 3. Build proxy URL
proxy_url = f"socks5://{proxyAuth}@{proxyDomain}" if proxyAuth else None
print(f"Proxy URL: {proxy_url}")
# 4. Example request
target_url = "https://ipinfo.io/ip"
try:
proxies = None
if proxy_url:
proxies = {
"http": proxy_url,
"https": proxy_url
}
response = requests.get(
target_url,
proxies=proxies,
timeout=30,
headers={
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"
}
)
print(f"Status code: {response.status_code}")
print(f"Response body: {response.text}")
except Exception as e:
print(f"Request failed: {e}")
// 1. 代理服务地址
proxyDomain := "proxy-inner.coreclaw.com:6000"
// 2. 获取代理认证信息
proxyAuth := os.Getenv("PROXY_AUTH")
coresdk.Log.Info(ctx, fmt.Sprintf("代理认证信息: %s", proxyAuth))
// 3. 拼接代理 URL
var proxyURL string
if proxyAuth != "" {
proxyURL = fmt.Sprintf("socks5://%s@%s", proxyAuth, proxyDomain)
}
coresdk.Log.Info(ctx, fmt.Sprintf("代理地址: %s", proxyURL))
// 4. 创建 HTTP Client
httpClient := &http.Client{
Timeout: time.Second * 30,
}
// 5. 如果存在代理,配置 Transport
if proxyURL != "" {
proxyParsed, err := url.Parse(proxyURL)
if err != nil {
coresdk.Log.Error(ctx, fmt.Sprintf("解析代理URL失败: %v", err))
return
}
httpClient.Transport = &http.Transport{
Proxy: http.ProxyURL(proxyParsed),
TLSClientConfig: &tls.Config{
InsecureSkipVerify: true,
},
}
coresdk.Log.Info(ctx, "已配置代理客户端")
}
// 6. 示例业务请求
targetURL := "https://ipinfo.io/ip"
req, err := http.NewRequestWithContext(ctx, "GET", targetURL, nil)
if err != nil {
coresdk.Log.Error(ctx, fmt.Sprintf("创建请求失败: %v", err))
return
}
resp, err := httpClient.Do(req)
if err != nil {
coresdk.Log.Error(ctx, fmt.Sprintf("请求失败: %v", err))
return
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
ip := strings.TrimSpace(string(body))
coresdk.Log.Info(ctx, fmt.Sprintf("响应状态码: %d", resp.StatusCode))
coresdk.Log.Info(ctx, fmt.Sprintf("当前出口 IP: %s", ip))

步骤 1:安装依赖

Terminal window
npm install axios socks-proxy-agent

步骤 2:示例代码

import axios from 'axios'
import { SocksProxyAgent } from 'socks-proxy-agent'
// 1. 代理服务地址
const proxyDomain = 'proxy-inner.coreclaw.com:6000'
// 2. 获取代理认证信息
let proxyAuth = null
try {
proxyAuth = process.env.PROXY_AUTH || null
await coresdk.log.info(`代理认证信息: ${proxyAuth}`)
} catch (err) {
await coresdk.log.error(`获取代理认证信息失败: ${err.message}`)
}
// 3. 拼接代理 URL
const proxyUrl = proxyAuth ? `socks5://${proxyAuth}@${proxyDomain}` : null
await coresdk.log.info(`代理地址: ${proxyUrl}`)
// 4. 创建 HTTP Client
let axiosConfig = {
timeout: 30000,
headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)',
},
}
// 5. 如果存在代理,配置 Agent
if (proxyUrl) {
const agent = new SocksProxyAgent(proxyUrl)
axiosConfig.httpAgent = agent
axiosConfig.httpsAgent = agent
axiosConfig.proxy = false
await coresdk.log.info('已配置 SOCKS5 代理')
}
// 6. 示例业务请求
try {
const targetUrl = 'https://ipinfo.io/ip'
await coresdk.log.info(`开始请求: ${targetUrl}`)
const response = await axios.get(targetUrl, axiosConfig)
await coresdk.log.info(`响应状态码: ${response.status}`)
await coresdk.log.info(`当前出口 IP: ${response.data.trim()}`)
} catch (err) {
await coresdk.log.error(`请求失败: ${err.message}`)
}