V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
yazoox

vscode 怎么设置代理,让测试的 axios 也能够自动使用该代理?

  •  1
     
  •   yazoox · Sep 26, 2021 · 5319 views
    This topic created in 1686 days ago, the information mentioned may be changed or developed.

    我们使用了一个第三方的库,这个库是用 axios 访问 dropbox 的 API, 比如 https://api.dropboxapi.com/oauth2/token, 但是 dropbox 被墙了,大家都知道。

    现在我在操作系统 windows 10 network setting 里面,设置了代理。然后在 vscode 的 config 里面,也设置了 “http.proxy”: "http://xxx.com:8080" 和 "http.proxyStrictSSL": false

    但是,调用该库的时候,还是返回 not authenticated.的。

    我用浏览器网页试过了,通过该代理是能够访问 dropbox 的。

    谢谢!

    p.s. axios 好像是可以直接设置代理的,但我们调用的是第三方的库,这个库里面使用的 axios,我没有办法直接改代码。

    17 replies    2021-09-27 11:38:16 +08:00
    cz5424
        1
    cz5424  
       Sep 26, 2021
    检查一下代理访问是否需要账号密码
    yazoox
        2
    yazoox  
    OP
       Sep 26, 2021
    @cz5424 忘记说了,不需要密码。代理是公司内部的结点,用的 squid3 搭的,直接 http://xxx.com:8080 就可以了。浏览器就是用的 switchy omega 这么设置的,正常工作。
    renmu123
        3
    renmu123  
       Sep 26, 2021 via Android
    不如魔改一下让三方库支持代理
    dcsuibian
        4
    dcsuibian  
       Sep 26, 2021   ❤️ 1
    有点不太明白这个程序是怎么运行的,如果是通过 node 运行的话,不应该让命令行走代理吗?为什么要让 vscode 走代理?
    lin07hui
        5
    lin07hui  
       Sep 26, 2021
    vscode 插件开发 or 前端开发 ?
    Iskit
        6
    Iskit  
       Sep 26, 2021
    @renmu123 #3 感觉做一个旁路由透明代理可能会还更方便一点
    ai277014717
        7
    ai277014717  
       Sep 26, 2021
    使用 terminal 打开 vscode,打开之前设置 http_proxy https_proxy all_porxy 应该可以。
    AreYou0k
        8
    AreYou0k  
       Sep 26, 2021
    自己写一个走代理连 dropbox 的 API 的接口, 然后用这个第三方库连自己写的接口. (方案有点捞)
    cweijan
        9
    cweijan  
       Sep 26, 2021
    vscode 的代理是设置的内部的服务请求, 没法到影响 axios, 我能想到的方法是用 proxifier 设置系统代理, 这个软件可以匹配指定域名.
    EridanusSora
        10
    EridanusSora  
       Sep 26, 2021
    proxifier 代理 node
    archean
        11
    archean  
       Sep 26, 2021
    netsh winhttp set proxy proxy-server="http://xxx.com:8080" bypass-list="*.internaldomain.com"
    archean
        12
    archean  
       Sep 26, 2021
    @archean 没写完发出去了,这个命令可以让很多命令行程序访问 http/https 协议的时候走代理,可以试试能否满足你的要求。
    ruoxie
        13
    ruoxie  
       Sep 26, 2021
    所以你的应用到底是跑在 vscode 里还是浏览器里?
    gitopen
        14
    gitopen  
       Sep 26, 2021
    proxifier +1
    yazoox
        15
    yazoox  
    OP
       Sep 27, 2021
    @EridanusSora @gitopen
    Proxifier 试用了一下,这个 http 的 proxy server 只能走 http 的流量。我当初搭 squid3 的 server 时,只搭了 http 的,没有 https 的,proxifer 用不了。
    @ruoxie 我的应用,可以说是一个 node 应用,我是用 vscode 把它启动起来(debug),这个 node 应用要访问 dropbpx 的 public API.

    @archean 这个我试过了,不行。而且,这么设置后,浏览器啥网站都打不开了... (注,我的 bypass-list 没有设置)。这个只能让命令行程序使用?我的程序,本质上是一个 node 的程序。
    netsh winhttp set proxy proxy-server="http://xxx.com:8080"
    yazoox
        16
    yazoox  
    OP
       Sep 27, 2021
    @archean 说错了,这么设置后,baidu.com 等没有墙的网站,还是能打开的,但 dropbox 墙外的,还是不行。
    gitopen
        17
    gitopen  
       Sep 27, 2021
    @yazoox 小伙伴使用姿势有问题,我用了好几年了,macOS 或者 windows 的系统全局代理,都用的好好的。不仅全局代理,还可以分流。。。比 clash pro 的 TUN 模式都好用,都稳定。
    https://i.loli.net/2021/09/27/2WUm6p9An1s3cCD.png
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3044 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 14:01 · PVG 22:01 · LAX 07:01 · JFK 10:01
    ♥ Do have faith in what you're doing.