HttpURLConnection请求https报Connection reset 5C

private String getAllFolderInfo(String sid) {
HttpURLConnection connection = null;
BufferedReader bufferedReader = null;
StringBuffer result = new StringBuffer();
try {
URL url = new URL("https://XX.XX.XX.XX/coremail/s?func=mbox:getAllFolders&sid=" + sid);
if (url.getProtocol().toLowerCase().equals("https")) {
HttpsURLConnection https = (HttpsURLConnection) url.openConnection();
https.setHostnameVerifier(DO_NOT_VERIFY);
connection = https;
} else {
connection = (HttpURLConnection) url.openConnection();
}
// 设置通用的请求属性
connection.setRequestProperty("accept", "*/*");
connection.setRequestProperty("connection", "Keep-Alive");
connection.setRequestProperty("user-agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
connection.setRequestProperty("Content-Type", "application/xml");
// 发送POST请求必须设置如下两行
connection.setDoOutput(true);
connection.setDoInput(true);
connection.connect();
connection.setConnectTimeout(5000);
connection.setReadTimeout(10000);
// 获取URLConnection对象对应的输出流
DataOutputStream ds = null;
try
{
ds = new DataOutputStream(connection.getOutputStream());
String postBody = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>true";

        ds.write(postBody.toString().getBytes("UTF-8"));
      } catch (Exception e) {
        e.printStackTrace();
      } finally {
        ds.flush();
        ds.close();
      }
      bufferedReader = new BufferedReader(
        new InputStreamReader(connection.getInputStream(), "utf-8"));
      String temp = null;
      while ((temp = bufferedReader.readLine()) != null)
        result.append(temp);
    }
    catch (MalformedURLException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    } finally {
      if (bufferedReader != null) {
        try {
          bufferedReader.close();
        } catch (IOException e) {
          e.printStackTrace();
        }
      }
      connection.disconnect();
    }
    System.out.println("result==="+result.toString());
    return result.toString();
  }
  private final static HostnameVerifier DO_NOT_VERIFY = new HostnameVerifier() {
        public boolean verify(String hostname, SSLSession session) {
            return true;
        }
    };

    private static void trustAllHosts() {
        // Create a trust manager that does not validate certificate chains
        TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() {
            public java.security.cert.X509Certificate[] getAcceptedIssuers() {
                return new java.security.cert.X509Certificate[]{};
            }

            public void checkClientTrusted(X509Certificate[] chain, String authType) {
            }

            public void checkServerTrusted(X509Certificate[] chain, String authType) {
            }
        }};
        // Install the all-trusting trust manager
        try {
            SSLContext sc = SSLContext.getInstance("TLS");
            sc.init(null, trustAllCerts, new java.security.SecureRandom());
            HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
使用  connection.connect();手动开启,或者ds = new DataOutputStream(connection.getOutputStream());自动开启都会报Connection reset。。。tomcat服务器下正常,weblogic就报错

图片说明

0

3个回答

链接上面出现了问题,看看网络怎么样

0
xiaotianna110
出色的本色 tomcat环境下是可以通的,放到weblogic下就坏了
大约一年之前 回复

weblogic是不是有侦听443的端口

0
xiaotianna110
出色的本色 如果是,该怎么处理
大约一年之前 回复

最终,还是通过自己的测试解决了问题。HttpURLConnection 访问https对jdk版本有要求,经过多轮全方位测试,使用了1.7.80的jdk版本,解决了问题

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
血的教训 jdk 自带 HttpsURLConnection 访问https 时好时坏
jdk 自带 HttpsURLConnection 访问https 时好时坏  解决方案 private static class TrustAnyTrustManager implements X509TrustManager { public void checkClientTrusted(X509Certificate[] chain, String authTy
URLConnection连https报证书错误的解决方法
导入证书 在DOS窗口,切入证书路径下执行:keytool -import -keystore &quot;%JAVA_HOME%/jre/lib/security/cacerts&quot; -storepass changeit -keypass changeit -alias bocommca -file test_root.cer &quot;test_root.cer&quot;为证书名.   删除证书 keyto...
使用HttpURLConnection访问https协议请求时.对SSL信任
此篇只涉及到如果访问https链接, 具体的原理不做深究.    当我们使用HttpURLConnection访问http请求的时候没有任何困难, 但是当访问https协议的链接时, 由于证书的问题, 就涉及到此链接的证书验证. 可以保证安全的通信, 但是对爬虫来说, 会变得非常的麻烦. 所以我们需要对https协议的链接在代码层实现信任此链接.     第一步: 实现X509TrustManag...
HttpURLConnection无法连接到服务器,报403错误
现象描述: 工作中维护的Android APP突然连不上第三方服务器了,服务器返回: Code:403 Message:Forbidden 首先了解下403状态: 该状态表示服务器理解了本次请求但是拒绝执行该任务,该请求不该重发给服务器。在HTTP请求的方法不是“HEAD”,并且服务器想让客户端知道为什么没有权限的情况下,服务器应该在返回的信息中描述拒绝的理由。 说白了就是服务器...
HttpURLConnection模拟请求小例子
HttpURLConnection用法详解一、简介 HttpURLConnection类是另一种访问HTTP资源的方式。二、连接步骤 1、通过openConnection方法创建连接对象。 2、设置请求头和请求体 3、使用connect方法于远程对象进行连接 4、远程对象变得可用,其字段和内容变得可访问三、用法 1、创建连接 // 获取连接的URL URLurl= newURL(&quot;http:/...
控制台报Connection reset问题(转)
最近启动tomcat时总是报有一些错,一开始没怎么注意,因为对项目操作没什么大的影响,今天闲下来看了看。   [2011-02-28 10:36:01] - getParameters() org.apache.commons.fileupload.FileUploadException: Connection reset at org.apache.common...
HttpURLConnection网络请求工具类
import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.PrintWriter; import
TCP复位报文段与常见网络连接错误
原创文章,转载请注明出处:http://jameswxx.iteye.com/blog/2065445 TCP包头中有6个标志,其中有一个复位标志(RST),这个标志其实跟网络程序中很多的错误描述相关。常见的比如: Unable to connect to remote host: Connection refused read error: Connection reset by ...
HttpURLConnection碰到连续302跳转的问题的原因及解决方法
HttpURLConnection碰到连续302跳转的问题的原因及解决方法
Connection reset原因分析和解决方案
https://my.oschina.net/xionghui/blog/508758?p={{page}}
java使用HttpURLConnection检索网站时403错误处理方式
java使用HttpURLConnection检索网站时403错误处理方式,User-Agent设置!
关于HttpsURLConnection自动重试导致的请求重复
[问题描述] 在业务中与第三方对接时,在11秒log显示开始发起请求,24秒接受到请求结果,显示“请求序列号重复,请求失败”。查询log确认这段程序只触发一次,对方给出的日志显示第一次请求11秒接收,14秒给出返回结果,23秒收到同一序列号的请求,给出请求失败的response。 [代码段]  /** * 向指定URL发送POST方法的请求 * * @return URL所代
使用jsoup/HTTPConnection 访问页面失败 ,但在浏览器中可以打开页面
             我在做一个爬虫项目的时候遇到过这种情况,本身可以正确访问的某个网页,用HPPTConnention后台访问确报错。         错误很明确,404,                     发现问题:          经过研究我发现,其实用浏览器访问该页面的时候也是404,只不过资源都可以正产加载,所以页面可以正常显示。           解决方法:       ...
Http学习之使用HttpURLConnection发送post请求深入
接上节 Http学习之使用HttpURLConnection发送post和get请求 本节深入学习post请求。 上节说道,post请求的OutputStream实际上不是网络流,而是写入内存,在getInputStream中才真正把写道流里面的内容作为正文与根据之前的配置生成的http request头合并成真正的http request,并在此时才真正向服务器发送。 Http
使用Fiddler监听Java HttpURLConnection请求的小技巧
使用Fiddler监听Java HttpURLConnection请求的小技巧           默认情况下Fiddler是不能监听Java HttpURLConnection上的HTTP请求的。原因容易理解,Fiddler能监听浏览器的HTTP请求是因为它启动一个代理服务器,浏览器通过这个代理服务器上网,但HttpURLConnection默认不使用该代理。 Fiddler 官方给
HTTP请求以及burp使用
一、使用burp的时候需要设置代理(代理作为客户端和服务器的中间者,在利用http协议交互时,所有的请求和回应都不会直接发送给目标而是右代理接收和转发),还有安装证书。我使用的时候出现了一个问题,就是在burp里面设置代理的时候无法勾选127.0.0.1:8080,即下图中不能出现那个√。此时就应该考虑是端口占用问题,所以端口占用是一个非常不起眼但是又非常常见的问题,phpstudy中也经常出现端...
HttpURLConnection 中参数的构建方式 引起的 500错误
1: 错误方式 String urlParameters = "fileName="+ fileName+"&param02="+ param02+"&param03="+ param03+"&param05="+ param05+"&param08="+ param08+"&param11="+ param11; String encodedurl = java.net.URLEncoder
java内置HttpURLConnection发起Http请求,服务器返回505问题
情况 我遇到的情况不是Http协议太旧的问题,我使用的Http协议是1.1,我遇到的问题是因为 请求参数中带有空格,Tomcat服务器识别不了,所以返回505 解决方法 将请求参数中的空格删除即可...
HttpURLConnection 传递参数提交(加代理方式)
    public String sendPostRequest(String url,Map&amp;lt;String,String&amp;gt; parameters){          // Post请求的url,与get不同的是不需要带参数          String result=&quot;&quot;;        try {        URL postUrl = new URL(url);     ...
部署在weblogic下的项目无法获取到HttpsURLConnection的解决办法
做集成工作时使用到了第三方公司提供的接口JAR包,在本地TOMCAT测试通过后部署到WEBLOGIC上。抛出了weblogic.net.http.SOAPHttpsURLConnection cannot be cast to javax.net.ssl.HttpsURLConnection这样的错误。这段是第三方公司JAR包中代码抛出的异常。沟通得知第三方公司jar包中存在类似如下的代码:
什么是我的java.net.SocketException:连接重置?
在使用HttpClient调用后台resetful服务时,在使用HttpClient调用后台resetful服务时,“Connection reset”是一个比较常见的问题,有同学跟我私信说被这个问题困扰很久了,今天就来分析下,希望能帮到大家。例如我们线上的网关日志就会抛该错误:“Connection reset”是一个比较常见的问题,有同学跟我私信说被这个问题困扰很久了,今天就来分析下,希望能帮
Java 通过 HttpConnection 解决 Ajax 请求跨域问题
Java 通过 HttpConnection 解决 Ajax 请求跨域问题 $.ajax 在访问外部服务器时会出现跨域问题,尝试过很多前端的方式解决都没有效果,最终是使用 Java 发送请求得以解决 更多精彩 更多技术博客,请移步 asing1elife’s blog 包装 Java 发送 Http 请求的工具类 该工具类中包括发送 GET/POST 请求的方法 方法只需要传入请求的地址...
如何解决ERR_CONNECTION_RESET网络错误
解决·ERR_CONNECTION_RESET网络问题 第一步 点击开始查找cmd,并点击cmd.exe 。 第二步 打开的界面中输入ipconfig /flushdns,然后回车即可。
利用HttpURLConnection远程下载文件
1.原理,浏览器访问--&amp;gt;localserver(下载文件)--文件又保存在另外一台服务器上。 即:在localserver上利用HttpURLConnection 先把文件读到localserver的流中,再从localserver输出到浏览器供下载。 localserver 的访问code: String remoteUrl = reportRemoteIPUrl+&quot;/proj...
java.net.SocketException Connection reset 解决方法
java.net.SocketException Connection reset 解决方法
jsoup+HttpURLConnection+多线程实现编写网络爬虫
jsoup  HttpURLConnection  多线程 网络爬虫  解析网页内容开发平台:Android Studio 3.1内容:利用jsoup解析爬取的页面内容HttpURLConnection是Java的标准类,它继承自URLConnection,可用于向指定网站发送GET请求、POST请求。jsoup是一款Java的HTML解析器,可直接解析某个URL地址、HTML文本内容。见代码:s...
处理HttpUrlConnection重定向的判断
private void requestNetData () { try { URL url = new URL(&quot;http://www.toutiao.com/stream/widget/local_weather/data/?city=%E5%8C%97%E4%BA%AC&quot;); HttpURLConnection urlConnection = (HttpURLConnecti...
【接口测试】:HttpURLConnection 发送post请求
现在根据项目的需要,已经转战服务端的测试,就先从最简单的发送post请求,获取响应数据,对json串解析 需求: 1、模拟不同国家的客户端,去请求对应国家的任务 2、模拟不同的国家IP、模拟参数 3、Post发送post的方法类,代码如下:public class HttpRequest { /** * * @param url 请求的url地址 * @
二、HttpsURLConnection调用接口POST方法
接着上一篇,这里介绍的是POST方法:package retina; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.UnsupportedEncodingExce...
基于HttpURLConnection 网络请求工具类的封装
HttpUtils: /** * Created by xiaoyehai on 2018/5/21 0021. */ public class HttpUtils { //线程池 private static ExecutorService executor; private static Handler mHandler; static { ...
解决Jedis链接报超时异常和connection reset异常的方法
一、链接池配置 &amp;lt;bean id=&quot;jedisPoolConfig&quot; class=&quot;redis.clients.jedis.JedisPoolConfig&quot;&amp;gt; &amp;lt;!-- ${redis.max_total:64}会优先查找是否已经配置redis.max_total的属性,如果没有配置,则为64 --&amp;gt; &amp;lt;property name=&quot;max...
CS两端TLS版本不适配导致Connection reset问题
欢迎访问陈同学博客原文 问题背景 近期平台在公司的一个出口IP流量偶尔抖动,在与运营商扯皮无结果后,IT帮忙开了一条新的专线。我们需要把域名在公网的DNS指向新的出口IP。 下面是简图: 旧:流量经公网IP 126,采用端口映射直接到平台的代理机,然后再转发给后端具体的业务代理。 新:流量经公网IP 189,然后经公司统一代理(Proxy A),由代理把流量转发到我们自己的代理上。 切换D...
socket 编程中 Connection reset 出现的原因,以及 bufferedwriter 写数据需要注意的问题
出现原因是因为,通信双方 有一方socket 关闭,而 另一方正在读取 数据造成的。 有个注意点是 ,使用BufferedReader   .readline()方法读数据时要注意 其读完一行的标志是 \r\n 也就是换行符,所以,另一方使用bufferedWriter .writer(),方法一定要记得 跟上换行符(\r\n). 不然的话,读取方读不到数据。。。  ...
HttpURLConnection连接服务器失败解决办法
Android连接服务器的API也没几步,测试总是连接不上,还报一些乱七八糟的错误,我的配置文件中也加入网络权限,但是依然还是有问题,我都郁闷 <uses-permission android:name="android.permission.INTERNET" />最后经过不断的测试,发现将本地连接服务器的代码放入一个新的线程中就OK,代码如下FR:海涛高软(QQ技术交流群:38647671
HttpURLConnection 单独封装网络请求工具类
public class MyHttpuriconntion extends Thread { private Handler handler; private String url; public MyHttpuriconntion(Handler handler, String url) { this.handler = handler;
ERR_CONNECTION_RESET的出现的可能原因之一
网页或者接口出现ERR_CONNECTION_RESET,原因可能和你的服务器配置,代码,http协议没有一毛钱关系,如果你的代码里出现了vpn,falungong等等字眼(你懂得),你的网页就会被国内的服务器厂商以各种各样离奇的理由封掉,所以,接口地址不要出现敏感字眼....
Android中HttpURLConnection获取网址源码,子线程里更新UI
HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); InputStream handleMessage
【JAVA】通过URLConnection/HttpURLConnection发送HTTP请求的方法(一)
Java原生的API可用于发送HTTP请求 即java.net.URL、java.net.URLConnection,JDK自带的类;  1.通过统一资源定位器(java.net.URL)获取连接器(java.net.URLConnection) 2.设置请求的参数 3.发送请求 4.以输入流的形式获取返回内容 5.关闭输入流封装请求类 1 package com.util; 2 3 ...
使用HttpsURLConnection的3种方法小结
最近遇到网络安全方面的问题,要将http转移到https,由于在工程中使用了HttpURLConnection,所以要相应的转而使用HttpsURLConnection,当然大部分是参考的网络上一些前辈们的成果,过程中也遇到了一些坑,在这里进行一下总结。由于https涉及到证书的认证方式,这里简单介绍一下: 关于证书,可以简单把它理解为网站的身份证。而给网站颁发身份证的就是CA(证书颁发机构)。
使用原生的HttpURLConnection库进行网络请求
这边只考虑json格式轻量级的数据请求。   除了部分像Build.VERSION.SDK_INT这样的只属于android的sdk API,其他是java通用。   URL openConnection获取的URLConnection实例由平台和http类型决定,比如安卓从4.4版本开始,http的url底层为com.android.okhttp.internal.http.Http...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 报游戏开发培训班 报大数据班