Java 发送Http请求携带中文参数时 请求报400的错误请求

这篇具有很好参考价值的文章主要介绍了Java 发送Http请求携带中文参数时 请求报400的错误请求。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在 Java 中,URL 中不能直接包含中文字符,因为 URL 规范要求 URL 必须是 ASCII 字符。如果需要在 URL 中传递中文参数,需要对中文参数进行 URL 编码,将其转换为浏览器中的参数形式。可以使用 java.net.URLEncoder 类来进行 URL 编码。文章来源地址https://www.toymoban.com/news/detail-669718.html

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;

public class HttpGetWithEncodedChineseParametersExample {

    public static void main(String[] args) {
        try {
            // 指定 GET 请求的 URL
            String baseUrl = "https://jsonplaceholder.typicode.com/posts";
            // 构建参数字符串,例如:?param1=value1&param2=value2
            String param1 = "中文参数1";
            String param2 = "中文参数2";
            //一个参数传参的示例(keyWord是参数)
            String parameters = String.format("%s", URLEncoder.encode(keyWord, "UTF-8"));
            String parameters = String.format("param1=%s&param2=%s", URLEncoder.encode(param1, "UTF-8"), URLEncoder.encode(param2, "UTF-8"));

            // 创建 URL 对象
            URL obj = new URL(baseUrl + "?" + parameters);
            // 打开连接
            HttpURLConnection conn = (HttpURLConnection) obj.openConnection();
            // 设置请求方法为 GET
            conn.setRequestMethod("GET");

            // 发送 GET 请求并获取响应
            BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            String inputLine;
            StringBuilder response = new StringBuilder();

            while ((inputLine = in.readLine()) != null) {
                response.append(inputLine);
            }
            in.close();

            System.out.println("GET Response: " + response.toString());

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

到了这里,关于Java 发送Http请求携带中文参数时 请求报400的错误请求的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【网络应用开发】实验2--JSP技术及应用(HTTP状态400错误的请求的解决方法)

    目录 JSP技术及应用预习报告 一、实验目的 二、实验原理 三、实验预习内容 JSP技术及应用实验报告 一、实验目的 二、实验要求 三、实验内容与步骤 1. 创建一个名为exp02的Web项目,创建并执行下面JSP页面,文件名为counter. jsp 2. errorPage属性和isErrorPage属性的使用。 高亮重点 

    2023年04月15日
    浏览(40)
  • electron项目打包之后显示空白页面以及发送http请求地址错误

            electron项目在开发阶段,因为使用webpack脚手架,启用了webServer提供的http服务,所以有路由功能,当我们运行npm run electron:serve的时候,最后可以直接加载http://localhost:8080。在app里面就可以显示页面。     当electron项目打包之后,成为桌面程序,这个时候就没有http服务支

    2024年02月13日
    浏览(36)
  • 使用HttpURLConnection发送POST请求并携带请求参数

    这里的param是请求参数,需要将其转换为字节数组后写入输出流。 这里的response是响应数据,需要将其读取为字符串后使用。 完整的示例代码如下所示: 需要注意的是,以上示例代码中的请求参数是以字符串形式传递的,如果需要传递复杂的请求参数,可以考虑使用JSON等格

    2024年02月04日
    浏览(56)
  • java发送Http请求

    使用java 11添加的HttpClient新API发送Http(Https)请求 HTTP客户端是在Java 11中添加的。它可以用于通过网络请求HTTP资源。它支持 HTTP / 1.1和HTTP / 2(同步和异步编程模型),将请求和响应主体作为反应流处理,并遵循熟悉的构建器模式。 参考文章:https://blog.csdn.net/allway2/article/detail

    2023年04月12日
    浏览(40)
  • 用java发送http请求

    在 Java 中发送 HTTP 请求可以使用标准的 Java 库或者第三方库。这里介绍使用 Java 标准库中的 HttpURLConnection 类来发送 HTTP 请求的方法: 首先,使用 URL 类来创建一个 URL 对象,指定要访问的 URL。 使用 URL 对象的 openConnection 方法来获取 HttpURLConnection 对象。 设置 HTTP 请求的方法

    2024年02月16日
    浏览(39)
  • Vue使用axios发送get请求并携带参数

    其实关于Vue使用axios发送get请求并携带参数,我之前写过一篇,但是昨天又发现了另外一种方式,所以就单独写一篇进行总结。 之前写的那篇使用get请求并携带参数都是使用的字符串拼接的方式 感兴趣可以参考: Vue使用axios进行get请求拼接参数的两种方式 关于如何使用安装

    2023年04月10日
    浏览(59)
  • Java发送HTTP GET/POST请求

    在这篇文章中,将向你展示四种发送Http的GET/POST的例子,如下: 在Java11的java.net.http.*包中,有一个HttpClient类可以完成HTTP请求。 Java11HttpClientExample.java 本例使用HttpURLConnection(http)和HttpsURLConnection(https) HttpURLConnectionExample.java 使用Apache HttpClient完成HTTP请求的发送需要添加Maven依赖

    2024年02月13日
    浏览(47)
  • java 发送 http 请求练习两年半(HttpURLConnection)

    1、起一个 springboot 程序做 http 测试: 2、写一个 HttpURLConnection 自定义客户端 3、测试 get 和 post 请求 4、控制台输出结果 中间遇到一些坑,经常以为 http 会有方法像 openfeign 那样传入请求参数,忽略了路径拼接, 启动的 springboot 接收的 post 的请求体为 List 类型,且 Content-Type

    2023年04月22日
    浏览(45)
  • 【Java】汇总Java中发送HTTP请求的7种方式

    今天在项目中发现一个功能模块是额外调用的外部服务,其采用CloseableHttpClient调用外部url中的接口…… CloseableHttpClient HTTP发送请求处理流程:

    2024年02月11日
    浏览(43)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包