fix: OAuth client 强制 HTTP/1.1 + 代理路由调试日志
- createReqClient: EnableForceHTTP1() 避免 H2 ALPN 升级与自定义 TLS dialer 冲突 - 超时从 15s 延长到 30s - 增加代理路由日志,方便诊断 proxy_id 是否正确传递 - proxyurl.Parse 返回的 parsedProxy 直接复用,省去二次 url.Parse
This commit is contained in:
parent
b285fb7b2f
commit
1182647a59
@ -278,20 +278,20 @@ func createReqClient(proxyURL string) (*req.Client, error) {
|
||||
}
|
||||
|
||||
client := req.C().
|
||||
SetTimeout(15 * time.Second).
|
||||
SetCookieJar(nil) // 禁用 CookieJar,确保每次授权都是干净的会话
|
||||
SetTimeout(30 * time.Second).
|
||||
SetCookieJar(nil). // 禁用 CookieJar,确保每次授权都是干净的会话
|
||||
EnableForceHTTP1() // 强制 HTTP/1.1,避免 H2 升级与自定义 TLS dialer 冲突
|
||||
|
||||
trimmed, _, err := proxyurl.Parse(proxyURL)
|
||||
trimmed, parsedProxy, err := proxyurl.Parse(proxyURL)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if trimmed != "" {
|
||||
parsedProxy, parseErr := url.Parse(trimmed)
|
||||
if parseErr != nil {
|
||||
return nil, fmt.Errorf("parse proxy URL: %w", parseErr)
|
||||
}
|
||||
logger.LegacyPrintf("repository.claude_oauth", "[OAuth] createReqClient: proxyURL=%q trimmed=%q", logredact.RedactProxyURL(proxyURL), logredact.RedactProxyURL(trimmed))
|
||||
|
||||
if trimmed != "" && parsedProxy != nil {
|
||||
scheme := strings.ToLower(parsedProxy.Scheme)
|
||||
logger.LegacyPrintf("repository.claude_oauth", "[OAuth] createReqClient: using proxy scheme=%s host=%s", scheme, parsedProxy.Hostname())
|
||||
switch scheme {
|
||||
case "socks5", "socks5h":
|
||||
socks5Dialer := tlsfingerprint.NewSOCKS5ProxyDialer(profile, parsedProxy)
|
||||
@ -303,6 +303,7 @@ func createReqClient(proxyURL string) (*req.Client, error) {
|
||||
client.SetProxyURL(trimmed)
|
||||
}
|
||||
} else {
|
||||
logger.LegacyPrintf("repository.claude_oauth", "[OAuth] createReqClient: no proxy, using direct connection with utls")
|
||||
dialer := tlsfingerprint.NewDialer(profile, nil)
|
||||
client.SetDialTLS(dialer.DialTLSContext)
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user