HTTP/Socks5 网络代理
代理环境说明
Section titled “代理环境说明”为确保脚本在全球范围内稳定访问目标网站,平台会在运行时提供一条加密通道(代理服务器)。
脚本无需自行购买或维护代理,只需读取平台注入的代理认证信息,并在 HTTP 请求中正确配置即可。
代理配置说明
Section titled “代理配置说明”- 协议:
SOCKS5 - 域名:
proxy-inner.coreclaw.com:6000 - 认证方式:
- 环境变量名:
PROXY_AUTH - 格式:
username:password
- 环境变量名:
- 费用说明:平台内置提供,无需额外付费或单独配置
Python 示例
Section titled “Python 示例”import osimport requests
# 1. Proxy service addressproxyDomain = "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 URLproxy_url = f"socks5://{proxyAuth}@{proxyDomain}" if proxyAuth else Noneprint(f"Proxy URL: {proxy_url}")
# 4. Example requesttarget_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. 拼接代理 URLvar proxyURL stringif proxyAuth != "" { proxyURL = fmt.Sprintf("socks5://%s@%s", proxyAuth, proxyDomain)}coresdk.Log.Info(ctx, fmt.Sprintf("代理地址: %s", proxyURL))
// 4. 创建 HTTP ClienthttpClient := &http.Client{ Timeout: time.Second * 30,}
// 5. 如果存在代理,配置 Transportif 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))Node.js 示例
Section titled “Node.js 示例”步骤 1:安装依赖
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 = nulltry { proxyAuth = process.env.PROXY_AUTH || null await coresdk.log.info(`代理认证信息: ${proxyAuth}`)} catch (err) { await coresdk.log.error(`获取代理认证信息失败: ${err.message}`)}
// 3. 拼接代理 URLconst proxyUrl = proxyAuth ? `socks5://${proxyAuth}@${proxyDomain}` : null
await coresdk.log.info(`代理地址: ${proxyUrl}`)
// 4. 创建 HTTP Clientlet axiosConfig = { timeout: 30000, headers: { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)', },}
// 5. 如果存在代理,配置 Agentif (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}`)}