gpt4 book ai didi

java.net.URISyntaxException : Illegal character in query at index 177

转载 作者:行者123 更新时间:2023-12-03 05:30:22 29 4
gpt4 key购买 nike

我尝试通过 Azure 共享的 nextLink 获取 Azure 使用详细信息。当我尝试发出 http 请求时,发生了 URISyntaxException。

HttpClient httpclient = getHttpClient();

URIBuilder uriBuilder=new URIBuilder(url);
HttpGet httpGet = new HttpGet(uriBuilder.build());
HttpResponse httpResponse = httpclient.execute(httpGet);

这是下一个链接网址:

“https://management.azure.com/subscriptions/78c50b17-61fd-40cc-819c-4953586c7850/providers/Microsoft.Conspiration/usageDetails?api-version=2019-11-01&$filter=properties/usageStart eq '2020-07-1' 和属性/usageEnd eq '2020-07-30' &metric=actualcost&$expand=properties/meterDetails,properties/additionalInfo&sessiontoken=15:785628&$skiptoken=827CDTHDWI07C46616C7365730&skiptokenver=v1&id=2d790 -d675-45d-89j56 -3989w06cca”

我认为这是因为 ?、& 和 ! 等字符造成的。在我的网址中。所以我尝试使用:

URLEncoder.encode(myUrl, "UTF-8");

但在此之后,我遇到了协议(protocol)异常。

我在这里遗漏了什么吗?

最佳答案

您的 URL 包含空格和单引号,这些应该像您尝试的那样进行 URL 编码。但是,由于您尝试对整个 URL 进行 URL 编码,因此最终会得到以下结果:

https%3A%2F%2Fmanagement.azure.com%2Fsubscriptions%2F78c50b17-61fd-40cc-819c-4953586c7850%2Fproviders%2FMicrosoft.Consumption%2FusageDetails%3Fapi-version%3D2019-11-01%26%24filter%3Dproperties%2FusageStart+eq+%272020-07-1%27+and+properties%2FusageEnd+eq+%272020-07-30%27+%26metric%3Dactualcost%26%24expand%3Dproperties%2FmeterDetails%2Cproperties%2FadditionalInfo%26sessiontoken%3D15%3A785628%26%24skiptoken%3D827CDTHDWI07C46616C7365730%26skiptokenver%3Dv1%26id%3D2d790-d675-45d-89j56-3989w06cca

这不是一个有效的 URL。您可以简单地尝试使用简单的字符串替换形式:

myUrl = myUrl.replace(" ", "%20").replace("'", "%27");

如果这还不够,您需要自己重建 URL,并且仅对查询参数值应用 URL 编码。

关于java.net.URISyntaxException : Illegal character in query at index 177,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65950642/

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