【问题标题】:URL percent encoding query param Bing API JavaURL 百分比编码查询参数 Bing API Java
【发布时间】:2014-06-04 19:21:49
【问题描述】:

我正在尝试对我的查询参数值进行 URL 百分比编码,同时使用 URIBuilder 向 Bing API 发出 HTTP 请求。

网址看起来像

"https://api.datamarket.azure.com/Data.ashx/Bing/SearchWeb/v1/Web?$format=json&Query="

查询字符串必须在哪里 %27Test%20query%27

使用 URLEncoder.encode(string, code),一个字符串,如“test query”,变成了“test+query”,这是不可接受的。

URIUtil.encodeQuery()

返回“test%20query”,这几乎是可以接受的,除了它在开头和结尾需要 %27。

当我尝试仅连接字符串以使其有效,然后将其加载到 URIBuilder 中时,URIBuilder 以

结尾
https://api.datamarket.azure.com/Data.ashx/Bing/SearchWeb/v1/Web?%24format=json&Query=%2527test%2520query%2527 

这又是不可接受的。

我该如何解决这个问题?快把我逼疯了。

感谢您的帮助。

【问题讨论】:

    标签: java http encoding uri bing-api


    【解决方案1】:

    这是编码的 URI。 $ 是 %24 银行是 %20

    如果你想要真正的URI,你需要解码。

    我认为解码方法适合你。

    参考这里:

    http://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/util/URIUtil.html

    【讨论】:

    • 非常感谢,URI是否也默认对URL进行编码?
    • 可能默认为编码,但您可以在您的 WAS 上进行设置。如果您使用 tomcat 或任何 Web 应用程序服务器。你可以找到选项。
    猜你喜欢
    • 2018-01-22
    • 2011-07-16
    • 2011-09-06
    • 2012-04-20
    • 1970-01-01
    • 1970-01-01
    • 2018-09-09
    相关资源
    最近更新 更多