我需要在URL中包含一个斜线来访问RabbitMQ API,并且我正在尝试使用WebClient
获取数据:
WebClient.builder()
.baseUrl("https://RABBIT_HOSTNAME/api/queues/%2F/QUEUE_NAME")
.build()
.get().exchange();
当我将/
替换为%2f
时,我可以在请求描述符中看到%2f
已更改为%252f
,因此我得到了未找到的响应。
我尝试了以下选项:
•“%5c”
-WebClient更改为%255c
,Rabbit返回404。
如何使用WebClient将%2f
保存在url中?
默认情况下,它将始终对URL进行编码,因此我可以看到两个选项
>
完全忽略baseurl
方法,并将完全限定的URL传递到URI
方法,该方法将重写baseurl
方法。
WebClient.builder()
.build()
.uri(URI.create( "https://RABBIT_HOSTNAME/api/queues/%2F/QUEUE_NAME"))
.get().exchange();
创建您自己的自定义UriBuilderFactory,映射Uri,并将编码设置为none
public class CustomUriBuilderFactory extends DefaultUriBuilderFactory {
public CustomUriBuilderFactory(String baseUriTemplate) {
super(UriComponentsBuilder.fromHttpUrl(baseUriTemplate));
super.setEncodingMode(EncodingMode.NONE);
}
}
WebClient.builder()
.uriBuilderFactory(
new CustomUriBuilderFactory(
"https://RABBIT_HOSTNAME/api/queues/%2F/QUEUE_NAME"
))
.build()
.get()
.uri(whatever)
.exchange();
问题内容: 我经营一个摄影网站。摄影师将其“ by_line”作为“ Some name / ourwebsite.com”。 我有一个用于大多数查询的DSL,使用“条件”将“过滤”查询串在一起,这在90%的情况下都非常有效,但是在这种情况下,我通过这样的查询返回的结果为零(请注意我如何尝试逃脱正斜线): 我正在使用Elasticsearch 1.5.2版 当我查看此URL的映射时 这是一个示例记
问题内容: 我从Instagram提取JSON: 然后将变量解析为PHP数组以重组数据,然后重新编码和缓存文件: 当我打开缓存文件时,我所有的正斜杠“ /”都被转义了: 我从搜索中收集到自动执行此操作…是否可以禁用它? 问题答案: 有没有办法禁用它? 是的,您只需要使用该标志。 重要的 阅读之前:https : //stackoverflow.com/a/10210367/367456(知道你在做
问题内容: 谁能告诉我在Java中如何使用正斜杠转义字符。我知道反斜杠是\ \,但是我尝试了\ /和/ /却没有运气! 这是我的代码: 提前致谢! 问题答案: 您既不需要以Java语言或正则表达式来转义正斜杠。 还要注意这样的块: 更紧凑和可读地写为: 因此,对于您而言,我相信您的方法应类似于: 请注意,这不是测试有效日期的一种非常好的方法-可能也应该尝试将其解析 为 日期,或者将其解析 为 日期
问题内容: 我必须在SpringBoot应用程序中使用@PathValiable从URL获取参数。这些参数通常带有 斜线 。我无法控制用户在URL中输入的内容,因此我想获取他输入的内容,然后我就可以对其进行处理。 我已经在这里浏览过材料和答案,我认为对我而言,好的解决方案不是要求用户以某种方式对输入的参数进行编码。 SpringBoot代码很简单: 因此,URL如下所示: 问题在于,参数 modu
我必须在SpringBoot应用程序中使用@PathValiable从URL获取参数。这些参数通常有斜线。我没有一个关于用户将输入URL的控制,所以我想要得到他输入的内容,然后我可以处理它。 我已经看过了这里的资料和答案,我不认为对我来说,好的解决方案是要求用户以某种方式编码输入参数。
问题内容: 我需要使用JSON发送日期。日期字符串应如下所示: “ 2013/5/15” 而是按以下方式对其进行转义: “ 2013 \ / 5 \ / 15” 我知道这样做是为了允许在scripts标记内包含json字符串,因为此问题解释了: JSON:为什么要转义正斜杠? 但就我而言,我不需要它。实际上,服务器正在返回错误。服务器没有处理此问题,因此我无法修复该服务器,因此必须在移动客户端代码