gpt4 book ai didi

url - Camel http4 和 url 编码的密码被解释为单独的参数

转载 作者:行者123 更新时间:2023-12-04 19:05:33 24 4
gpt4 key购买 nike

我们有一个 Apache Camel (2.13.2) 应用程序,它使用 http4 与网络服务器通信,使用 NTLM 进行身份验证。

端点定义为(伪):

...
.to("http4://thegreat.server.com/uri?authUsername=" + user + "&authPassword=" + pass
+ "&authenticationPreemptive=true&authMethod=NTLM&authDomain=DOMAIN&authHost=host")
.to("otherEndpoint");

只要 pass 就可以正常工作变量包含“非特殊”字符。

但是,如果 pass包含例如 "abcd&def" - Camel 会将 & 符号解释为查询参数分隔符,因为它应该如此。

但是 url 编码&符号(即 "abcd%26def" )根本没有区别?

我们最终仍然使用 Camel 调用端点 "http://thegreat.server.com/uri?authMethod=NTLM&def=" , 带有截断的密码。

是否有一些明显的我们遗漏了,或者这种看起来像一个错误?

谢谢。

最佳答案

请参阅 Camel 文档如何配置端点 uri

  • http://camel.apache.org/how-do-i-configure-endpoints.html

  • 有一节介绍了密码,例如您应该使用 RAW() 语法。

    所以它会是类似的东西
    .to("http4://thegreat.server.com/uri?authUsername=" + user + "&authPassword=RAW(" + pass 
    + ")&authenticationPreemptive=true&authMethod=NTLM&authDomain=DOMAIN&authHost=host")
    .to("otherEndpoint");

    关于url - Camel http4 和 url 编码的密码被解释为单独的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25883501/

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