部署到服务器后,POST请求HTTPS接口为何会报空指针?
post向https接口发送数据 部署到服务器为何运行一会后报空指针
在部署到服务器后,post向https接口发送数据的代码运行一段时间后报错“java.lang.nullpointerexception”,具体错误发生在“outputstreamwriter out = new outputstreamwriter(conn.getoutputstream(),"utf-8")”处。
问题根源在于在部署环境中无法正确获取https连接的输出流,导致输出流为null。本机无法复现问题是因为本地环境中无需证书验证,而服务器环境需要。
解决方案
为了解决这个问题,需要在代码中明确指定用于https连接的ssl套接字工厂:
// 在建立HTTPS连接之前设置SSL套接字工厂 SSLSocketFactory sslSocketFactory = new TLSSocketConnectionFactory(); conn.setSSLSocketFactory(sslSocketFactory);
通过设置ssl套件字工厂,可以确保在部署环境中也能正常获取https连接的输出流。
以上就是部署到服务器后,POST请求HTTPS接口为何会报空指针?的详细内容,更多请关注www.sxiaw.com其它相关文章!