java - 使用HttpURLConnection 返回 Server returned HTTP response code: 500问题

查看:2621
本文介绍了java - 使用HttpURLConnection 返回 Server returned HTTP response code: 500问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

try {

    // 创建SSLContext对象,并使用我们指定的信任管理器初始化
    TrustManager[] tm = { new MyX509TrustManager() };
    SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE");
    sslContext.init(null, tm, new java.security.SecureRandom());
    // 从上述SSLContext对象中得到SSLSocketFactory对象
    SSLSocketFactory ssf = sslContext.getSocketFactory();

    URL url = new URL(requestUrl);
    HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
    conn.setSSLSocketFactory(ssf);
    conn.setRequestMethod(requestMethod);
    conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
    conn.setDoOutput(true);
    conn.setDoInput(true);
    conn.setUseCaches(false);
    // 设置请求方式(GET/POST)

    // 当outputStr不为null时向输出流写数据
    if (null != outputStr) {
        OutputStream outputStream = conn.getOutputStream();
        // 注意编码格式
        outputStream.write(outputStr.getBytes("UTF-8"));
        outputStream.close();
    }

    // 从输入流读取返回内容
    InputStream inputStream = conn.getInputStream();
    InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");
    BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
    String str = null;
    StringBuffer buffer = new StringBuffer();
    while ((str = bufferedReader.readLine()) != null) {
        buffer.append(str);

程序执行到InputStream inputStream = conn.getInputStream();抛出异常
java.io.IOException: Server returned HTTP response code: 500
我发现conn对象的method属性是get


网上查下有人说是jar包的问题,哪个jar包呢?

解决方案

谢邀,查了下有网友说是hessian包的问题。
使用hessian-3.1.5.jar或更高版本的包就会出现上述错误。更换hessian-3.0.20.jar以下的包就可以了。

这篇关于java - 使用HttpURLConnection 返回 Server returned HTTP response code: 500问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆