You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在axios中使用axios-cookiejar-support搭配SocksProxyAgent代理?

解决方案

错误原因是axios-cookiejar-support的wrapper会接管HTTP/HTTPS Agent的逻辑,如果你在包装后再覆盖defaults里的agent,就会触发它的冲突检测机制。正确的做法是在创建axios实例的配置中就传入代理Agent,让wrapper同时处理CookieJar和代理逻辑。

修改后的代码

import { Cookie, CookieJar } from "tough-cookie";
import { wrapper } from "axios-cookiejar-support";
import { SocksProxyAgent } from "socks-proxy-agent";
import type { AxiosRequestConfig } from "axios";

// 先初始化代理Agent
const proxyAgent = new SocksProxyAgent(proxy);

// 在axios配置中直接传入代理Agent
const axiosConfig: AxiosRequestConfig<any> = {
    headers: {},
    maxRedirects: 0,
    jar: this.cookieJar,
    withCredentials: true,
    httpAgent: proxyAgent,
    httpsAgent: proxyAgent
};

// 最后用wrapper包装axios实例
this.request = wrapper(axios.create(axiosConfig));

关键说明

  • axios-cookiejar-support的wrapper会在你传入的原有Agent基础上,注入CookieJar的处理逻辑,而不是完全替换Agent,这样就不会触发冲突。
  • 如果需要为HTTP和HTTPS设置不同的代理,可以分别创建两个SocksProxyAgent实例,分别赋值给httpAgent和httpsAgent。

内容的提问来源于stack exchange,提问作者Illia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 21:39:53