gpt4 book ai didi

java - 如何在 Java 中使用编码 URIbuilder() 方法

转载 作者:行者123 更新时间:2023-11-30 11:00:16 25 4
gpt4 key购买 nike

我在 JAVA 中使用一些 API。

我需要在URI中使用韩语文本,request是String变量。
如果我设置 request = "안녕하세요"; 并且我使用代码:

final URI uri = new URIBuilder().setScheme("https").setHost(server + "api.net").setPath("/api/" + "/" + **request**).setParameters(param).build(). ;

如果我使用它,我可以看到以下结果:

https://api.net/api/%EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94?api_key

我已经尝试过使用这段代码:

final URI uri = new URIBuilder().setScheme("https").setHost(server + "api.net").setPath("/api/" + "/" + **URLEncoder.encode(request, "UTF-8")**).setParameters(param).build(). ;

但我得到了相同的结果。

我该如何解决这个问题?

最佳答案

您的 URI 已被编码。就像 URL 一样,你不能使用特殊字符,如果你想检索 request 字符串,你必须解码 URI 的特定部分,如下所示:

String result = java.net.URLDecoder.decode(uri.getPath(), "UTF-8");
System.out.println(result); // this will print "/api/안녕하세요"

RFC 3986, Uniform Resource Identifier (URI): Generic Syntax确认:

A URI is a sequence of characters from a very limited set: the letters of the basic Latin alphabet, digits, and a few special characters.

后来它说:

Percent-encoded octets [...] may be used within a URI to represent characters outside the range of the US-ASCII coded character set if this representation is allowed by the scheme or by the protocol element in which the URI is referenced.

这是你得到的一堆字符。

希望你觉得这很有用。

关于java - 如何在 Java 中使用编码 URIbuilder() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31598057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com