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

Retrofit配置带443端口的BASE URL不生效该如何解决

Retrofit 配置带443端口BASE URL的解决方案

首先明确核心前提:443是行业通用的HTTPS协议默认端口,绝大多数服务端的443端口只会监听HTTPS请求,使用HTTP协议访问443端口时,服务端会直接拒绝请求或返回协议不兼容错误,这是该问题最常见的诱因。

按照以下步骤依次排查配置即可解决:

1. 确认服务端443端口支持的协议

  • 如果服务端443端口仅支持HTTPS,直接修改BASE URL的协议头为https即可,正确格式为 https://xxx.xxx.xx.xxx:443/。Retrofit会自动识别443为HTTPS默认端口,你也可以省略端口号直接写 https://xxx.xxx.xx.xxx/,两种写法效果完全一致。
  • 若确认服务端443端口确实开放了HTTP服务(仅见于特殊自定义配置的内网服务),再继续往下排查。

2. 校验Retrofit BASE URL写法合规性

Retrofit对BASE URL格式有严格要求,带端口的写法必须满足两个规则:

  • 必须以斜杠/结尾,正确示例:http://192.168.0.100:443/,如果缺少末尾的斜杠,Retrofit拼接接口路径时会出现异常。
  • 接口注解上的路径不要以斜杠开头,比如BASE URL为http://xxx:443/api/v1/时,接口注解应写为@GET("user/info"),不要写@GET("/user/info"),否则会直接覆盖BASE URL的路径部分。

3. 排查OkHttp配置冲突

如果确认要使用HTTP访问443端口,检查OkHttp的自定义配置:

  • 有没有配置全局拦截器,自动将443端口的HTTP请求强制转换为HTTPS请求
  • 有没有配置SSL相关规则,强制443端口走HTTPS证书校验,若有对应规则删除即可。

提醒:HTTP协议访问443端口属于非常规操作,生产环境不推荐使用,容易出现防火墙拦截、运营商限流、协议兼容等各类不可预知的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 11:24:03