看来我遇到了配置错误的问题。冰山一角是 VS Code v1.62.3 控制台中的以下错误:
> Executing task: C:\Users\Test\.platformio\penv\Scripts\platformio.exe update <
Updating platformio/contrib-piohome 3.4.0 @ ~3.4.0 Error: HTTPSConnectionPool(host='api.registry.ns1.platformio.org', port=443): Max retries exceeded with url: /v3/packages/platformio/tool/contrib-piohome (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1123)')))
The terminal process "C:\Users\Test\.platformio\penv\Scripts\platformio.exe 'update'" terminated with exit code: 1.
我已经配置了系统范围的代理(Windows 设置 → 网络和 Internet → 代理),但没有http_proxy
设置https_proxy
环境变量。
VS Code 具有以下设置:
{
"http.proxyStrictSSL": false,
"http.proxy": ""
}
第一个问题是,使用此设置,VS Code 仍会尝试连接代理。第二个问题是它以错误的方式与代理通信:
02:12:58.936212 IP laptop.62953 > proxy.3128: Flags [P.], seq 1:518, ack 1, win 256, length 517
0x0020: 1603 0102 0001 0001 ................
0x0030: fc03 03e9 84e1 cff8 6b1e 15d6 9ea6 9ee6 ........k.......
0x0040: 1f66 f9ca 620a cf4d e968 e33d c71e ae3a .f..b..M.h.=...:
0x0050: 4919 8f20 64b6 a0ae 2a0d e44b 88e4 d1bf I...d...*..K....
0x0060: 4353 ae17 cf88 612a 5a85 d50e 3468 828a CS....a*Z...4h..
...
02:12:58.936268 IP proxy.3128 > laptop.62953: Flags [.], ack 518, win 501, length 0
02:12:58.936607 IP proxy.3128 > laptop.62953: Flags [.], seq 1:1461, ack 518, win 501, length 1460
0x0020: 4854 5450 2f31 2e31 ........HTTP/1.1
0x0030: 2034 3030 2042 6164 2052 6571 7565 7374 .400.Bad.Request
0x0040: 0d0a 5365 7276 6572 3a20 7371 7569 640d ..Server:.squid.
0x0050: 0a4d 696d 652d 5665 7273 696f 6e3a 2031 .Mime-Version:.1
0x0060: 2e30 0d0a 4461 7465 3a20 4d6f 6e2c 2032 .0..Date:.Mon,.2
0x0070: 3920 4e6f 7620 3230 3231 2030 313a 3132 9.Nov.2021.01:12
0x0080: 3a35 3820 474d 540d 0a43 6f6e 7465 6e74 :58.GMT..Content
0x0090: 2d54 7970 653a 2074 6578 742f 6874 6d6c -Type:.text/html
0x00a0: 3b63 6861 7273 6574 3d75 7466 2d38 0d0a ;charset=utf-8..
0x00b0: 436f 6e74 656e 742d 4c65 6e67 7468 3a20 Content-Length:.
0x00c0: 3333 3236 0d0a 582d 5371 7569 642d 4572 3326..X-Squid-Er
0x00d0: 726f 723a 2045 5252 5f50 524f 544f 434f ror:.ERR_PROTOCO
0x00e0: 4c5f 554e 4b4e 4f57 4e20 300d 0a56 6172 L_UNKNOWN.0..Var
...
可以看到,客户端没有CONNECT api.registry.ns1.platformio.org:443
向代理发送数据,而是向代理发送 SSL 数据。代理回复:
NONE/400 3689 NONE error:invalid-request - HIER_NONE/- text/html
另外,我还尝试了以下配置,但效果不佳:
{
"http.proxyStrictSSL": false,
"http.proxy": "",
"https.proxy": "",
"http.proxySupport": no
}
我还尝试使用--no-proxy-server
参数启动 VS Code,但同样没有效果:VS Code 仍然通过代理运行。
相关文章
- vscode 中的代理问题
- 如何在 Visual Studio 代码中禁用代理? 该扩展实际上对我来说不起作用,当尝试单击“关闭”图标时,它会导致“回调必须是一个函数。收到未定义”错误:
- Visual Studio Code 中的网络连接