Android 图片上传到图床 403 Forbidden 的问题分析
图床一般是指储存图片的服务器,这里用到的是国外免费的 sm.ms 图床(https://sm.ms/),该图床也提供了API接口。但Android项目通过API接口上传图片却遇到了403 Forbidden 的问题经研究发现,项目中用到到是okhttp到请求框架,而非原生http请求,该服务器可能解析不了Header中User-Agent的值。因此可以重写User-Agent为...
·
图床一般是指储存图片的服务器,这里用到的是国外免费的 sm.ms 图床(https://sm.ms/),该图床也提供了API接口。
但Android项目通过API接口上传图片却遇到了403 Forbidden 的问题
经研究发现,项目中用到的是okhttp的请求框架,而非原生http请求,该服务器可能解析不了Header中User-Agent的值。
因此可以重写User-Agent为系统真正的值
public class UserAgentInterceptor implements Interceptor {
@Override
public Response intercept(Chain chain) throws IOException {
Request request = chain.request()
.newBuilder()
.addHeader("User-Agent", WebSettings.getDefaultUserAgent(MyApplication.getInstance()))
.build();
return chain.proceed(request);
}
}
问题成功解决(类似的问题应该也可以这样解决)
更多推荐
所有评论(0)