gpt4 book ai didi

java - 将空格和特殊字符传递给 RestFul Web 服务

转载 作者:太空狗 更新时间:2023-10-29 14:44:44 25 4
gpt4 key购买 nike

<分区>

我想在我的 android 项目中调用一个 RestFul webservice。一切正常,直到我想将特殊字符作为字符串发送到网络服务。

起初我以为问题出在空格上,所以我用“%20”替换了它们。但我看到这些字符 "\r\n,+,/,\,?,..."也有问题。我使用 URLEncoder.encode 只是那个字符串(不是整个 URL),但它没有解决我的问题,例如它用导致错误的 '+' 替换了空格。或其他异常,例如当我的字符串中有 NewLine 字符时,它会给我 Bad Request - Invalid URL。对于每个字符,我都有一些错误,例如 endpoint not foundServer Error in '/' Application

    URL url = new URL(reqUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");

现在我手动替换了每个字符。我想让它知道为什么 URLEncoder.encode 没有按照正确的方式进行,还有其他方法可以解决吗?

解决方案:

我发现了我的问题,from this document :

Template String Syntax

A template has three parts: a path, an optional query, and an optional fragment.

我将我的字符串参数作为路径部分而不是可选查询发送。当我将 URLEncoder.encode(myStringParameter) 作为可选查询发送时,即使有空格也没有任何问题。

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