gpt4 book ai didi

http - 如何在使用 camel-http 时设置代理

转载 作者:可可西里 更新时间:2023-11-01 16:52:11 26 4
gpt4 key购买 nike

我是 camel 的新手,最终陷入了代理问题。我有这样一条路线,用于存储从对文件的循环 http 调用的结果:

from("quartz://collector/test?cron=0+0/2+*+?+*+*")                      
.setHeader(Exchange.HTTP_METHOD, constant("GET"))
.setHeader(Exchange.HTTP_QUERY, constant("Id=50")
.to("http://www.anywebsite/question.php")
.setHeader(Exchange.FILE_NAME,constant("${date:now:yyyyMMddHHmmssSSS}.xml"))
.inOnly(someFolder);

我的问题是我需要指定一个代理(主机 + 端口)才能通过,否则我将无法获取信息。我尝试了各种方法,包括从 routeBuilder(通过 getContext().setProperties)和包裹在“properties/property”标签中的 bundle-context.xml 设置“http.proxyHost”和“http.proxyPort”。我还尝试通过向其添加 &proxyHost=myHost&proxyPort=myPort 将其设置在端点(camel-http 文档说您可以将其设置为 httpenpoint)。

没有成功..

我还尝试根据我通过谷歌阅读的帖子设置一个 http 管道,例如(根据部署目标选择一个或另一个):

<http-conf:conduit name="*.http-conduit">
<!-- when behind proxy -->
<http-conf:client Connection="close" ConnectionTimeout="3000" ReceiveTimeout="10000" ProxyServer="p-goodwat" ProxyServerPort="3128"/>
<!-- when no proxy -->
<http-conf:client Connection="close" ConnectionTimeout="3000" ReceiveTimeout="10000" />
</http-conf:conduit>

但这也不起作用...而且,我希望能够自动执行此操作,而无需根据安装位置更新 camel-context。

那么,你有没有找到一种设置它的方法,并且是动态设置的?

最佳答案

经过几次尝试,我设法让它工作了......看起来问题不是来 self 的解决方案,但事实上我没有增加 bundle 版本......因此,我的解决方案没有被采纳考虑在内。

因此,对我有用的解决方案是为我的 routeBuilder 中的上下文设置端点,例如: getContext().setProperty("http.proxyHost",10.100.100.1);
getContext().setProperty("http.proxyPort",2111);

现在,它确实起作用了。

感谢看过的人!

关于http - 如何在使用 camel-http 时设置代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17599165/

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