java.io.IOException: Server returned HTTP response code: 400 for URL解决方法

这篇具有很好参考价值的文章主要介绍了java.io.IOException: Server returned HTTP response code: 400 for URL解决方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

package com.office.convertoffice.utils;

import org.apache.commons.io.IOUtils;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;

/**
 * @Auther: ZHANG PU
 * @Date: 2023/4/26 10:12
 * @Description:
 */
public class UrlUtils {

    /**
     * 功能描述: 从地址中获取流
     *
     * @author zhang pu
     * @date 10:13 2023/4/26
     */
    public static InputStream getInputStreamByUrl(String strUrl) {
        HttpURLConnection conn = null;
        try
        {
            String s = tranformStyle(strUrl);
            URL url = new URL(s);
            conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("GET");
            conn.setConnectTimeout(20 * 1000);
            final ByteArrayOutputStream output = new ByteArrayOutputStream();
            IOUtils.copy(conn.getInputStream(), output);
            return new ByteArrayInputStream(output.toByteArray());
        } catch (Exception e)
        {
            e.printStackTrace();
        } finally
        {
            try
            {
                if (conn != null)
                {
                    conn.disconnect();
                }
            } catch (Exception e)
            {
            }
        }
        return null;
    }

    /**
     * 对中文字符进行UTF-8编码
     *
     * @param source 要转义的字符串
     * @return
     * @throws UnsupportedEncodingException
     */
    public static String **tranformStyle**(String source) throws UnsupportedEncodingException {
        char[] arr = source.toCharArray();
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < arr.length; i++)
        {
            char temp = arr[i];
            if (isChinese(temp))
            {
                sb.append(URLEncoder.encode("" + temp, "UTF-8"));
                continue;
            }
            sb.append(arr[i]);
        }
        return sb.toString();
    }

    /**
     * 获取字符的编码值
     *
     * @param s
     * @return
     * @throws UnsupportedEncodingException
     */
    public static int getValue(char s) throws UnsupportedEncodingException {
        String temp = (URLEncoder.encode("" + s, "GBK")).replace("%", "");
        if (temp.equals(s + ""))
        {
            return 0;
        }
        char[] arr = temp.toCharArray();
        int total = 0;
        for (int i = 0; i < arr.length; i++)
        {
            try
            {
                int t = Integer.parseInt((arr[i] + ""), 16);
                total = total * 16 + t;
            } catch (NumberFormatException e)
            {
                e.printStackTrace();
                return 0;
            }
        }
        return total;
    }

    /**
     * 判断是不是中文字符
     *
     * @param c
     * @return
     */
    public static boolean isChinese(char c) {
        Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
        if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
                || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
                || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
                || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION
                || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
                || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS)
        {
            return true;
        }
        return false;
    }
}

文章来源地址https://www.toymoban.com/news/detail-626806.html

到了这里,关于java.io.IOException: Server returned HTTP response code: 400 for URL解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Minio出现Non-XML response from server. Response code: 400, Content-Type: text/xml; ch的解决

    出现这个问题,基本原因的是因为你的minio的配置出现了错误。 这里要注意,要使用的是Minio启动的时候人家给你的端口和用户名以及密码 然后再去配置Minio的client 然后编写代码的时候先尝试访问桶,能访问到桶在进行接下来的步骤 然后发送请求做一个测试即可

    2024年02月11日
    浏览(39)
  • Selenium 问题 java.io.IOException: Invalid Status code=403 text=Forbidden

    0. 异常信息 1. 增加启动参数   微笑的java 欢迎关注转发评论点赞沟通,让编码不在孤单。

    2024年02月11日
    浏览(41)
  • java selenium问题解决,版本号对应,仍报错java.io.IOException: Invalid Status code=403 text=Forbidden

    报错截图 java.io.IOException: Invalid Status code=403 text=Forbidden Exception in thread \\\"main\\\" org.openqa.selenium.remote.http.ConnectionFailedException: Unable to establish websocket connection to http://localhost:60613/devtools/browser/747cc62c-8bb8-4828-ab4e-afa69400a604 Build info: version: \\\'4.1.2\\\', revision: \\\'9a5a329c5a\\\' System info: host: \\\'LAPTOP-

    2024年02月11日
    浏览(44)
  • HTTP接口调用时报错 java.io.IOException: Connection reset by peer解决办法

    在接口调用时,遇到如下报错: Caused by: java.io.IOException: Connection reset by peer         at sun.nio.ch.FileDispatcherImpl.write0(Native Method) ~[?:1.8.0_241]         at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) ~[?:1.8.0_241]         at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) ~[?:1.8.0_241]  

    2024年04月26日
    浏览(49)
  • Unable to tunnel through proxy. Proxy returns “HTTP/1.1 400 Bad request

    今天通过nginx代理下载pdf报这个错,网上查了很多资料,说的大部分都是Android studio这个的解决办法,几乎没有针对nginx的处理,部分说是需要配hosts,配了hosts也没用,有一些说是要增加proxy_set_header Host $http_host;这个配置,也不能解决我的问题,这边记录一下针对我这边出现问

    2024年02月12日
    浏览(36)
  • 【方案探讨】 出现java.io.IOException解决方法

    欢迎来到我的博客!在这里,我将分享我对问题的独特见解和解决方案。通过这篇博客,我希望能够为您带来新的思考方式,启发您寻找问题的不同角度,并探索创新的解决方案。 每个问题都是一个机会,是一个学习的过程。在这里,我将分享我对问题的思考过程和解决方案

    2024年04月25日
    浏览(38)
  • java.io.IOException: Broken pipe管道断开

    一、Broken pipe产生原因分析 1.当访问某个服务突然服务器挂了,就会产生Broken pipe; 2.客户端读取超时关闭了连接,这时服务器往客户端再写数据就发生了broken pipe异常! 3.端口冲突,地址已被使用,也会导致Broken pipe 二、方案 1.问题一分析服务器为什么挂了。 2.问题二使用jp

    2024年02月10日
    浏览(36)
  • 上传文件提示java.io.IOException: java.io.FileNotFoundException:(系统找不到指定的路径。)

    关键信息: java.io.IOException: java.io.FileNotFoundException: C:UsersbrendonAppDataLocalTemptomcat.6510816303036534023.8099workTomcatlocalhostROOTinvoiceoriginalfile2023-02-1373432e18330dec9a05af2e74d068bfba83e0a88d.pdf (系统找不到指定的路径。) Caused by: java.io.FileNotFoundException: C:UsersbrendonAppDataLocalTemptomcat

    2024年02月12日
    浏览(30)
  • Http: server gave HTTP response to HTTPS client 解决方法

    如果没有 /etc/docker/daemon.json 这个文件,可以自己新建一个 情况1.这种写法是没有配置Docker加速器的情况下 在 /etc/docker/daemon.json 中设置以下: // 单个私服的写法 {     \\\"insecure-registries\\\": [\\\"registry的IP地址:端口号\\\"] } // 多个私服的写法 {     \\\"insecure-registries\\\": [\\\"registry1的IP地址

    2024年02月03日
    浏览(28)
  • java.io.IOException: Connection reset by peer

    接口返回的时候报错,java.io.IOException: Connection reset by peer,具体报错信息如下: 原因: 接口返回的数据量太大报错, 解决办法: 修改nginx缓存配置信息。 nginx原配置信息: nginx修改后信息: 注意: \\\"proxy_busy_buffers_size\\\"必须等于或大于\\\"proxy_buffer_size\\\"的最大值。

    2024年02月16日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包