gpt4 book ai didi

java - java中的URL编码问题

转载 作者:行者123 更新时间:2023-12-02 00:06:19 31 4
gpt4 key购买 nike

这是我的示例网址:

url.com/data?format=json&pro={%22merchanturl%22:%22http://url.com/logo.pn‌​g%22,%22price%22:599,%22productDesc%22:%22Apple%2032GBBlack%22,%22prodID%22:%2291‌​3393%22,%22merchant%22:%224536%22,%22prourl%22:%22http://url.com/data%22,%22name%‌​22:%22Apple%2032GB%20%2D%20Black%22,%22productUrl%22:%22http://www.url.com/image.‌​jpg%22,%22myprice%22:550,%22mercname%22:%22hello%22,%22mybool%22:false}

我有一个 Android 应用程序。我需要将此网址发布到服务器。这样服务器就会用 token 响应。我正在通过应用程序执行 httppost。但我没有得到任何回应/异常。如果我复制相同的网址并将其粘贴到浏览器中,效果会很好。我希望我在编码部分犯了错误。谁能指出我的问题吗?

这是我的编码方法:

private String encodeString(String input) {
String output = new String(input.trim().replace(" ", "%20")
.replace("&", "%26").replace(",", "%2c").replace("(", "%28")
.replace(")", "%29").replace("!", "%21").replace("=", "%3D")
.replace("<", "%3C").replace(">", "%3E").replace("#", "%23")
.replace("$", "%24").replace("'", "%27").replace("*", "%2A")
.replace("-", "%2D").replace(".", "%2E").replace("/", "%2F")
.replace(":", "%3A").replace(";", "%3B").replace("?", "%3F")
.replace("@", "%40").replace("[", "%5B").replace("\\", "%5C")
.replace("]", "%5D").replace("_", "%5F").replace("`", "%60")
.replace("{", "%7B").replace("|", "%7C").replace("}", "%7D")
.replace("\"", "%22"));
return output;
}

更新:

我这样做的原因是,我需要以这种格式发送数据。 url 的参数部分是 json 数据。如果我对完整的 url 进行编码,则不起作用。

最佳答案

尝试使用URLEncoder,仅对后面的部分进行编码?

String query = URLEncoder.encode(queryPart, "utf-8");
String url = "http://server.com/search?q=" + query;

关于java - java中的URL编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13801747/

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