gpt4 book ai didi

java - 如何在代理后面使用 Apache Olingo

转载 作者:行者123 更新时间:2023-11-30 10:34:32 32 4
gpt4 key购买 nike

即使我在代理后面,我也可以使用不同的浏览器并使用 Postman 成功访问以下 OData 服务: String SERVICE_ROOT = http://services.odata.org/V4/TripPinService/

但是,在 Java 中使用 Apache Olingo 我无法访问此服务。

-Dhttp.proxySet=true -Dhttp.proxyHost=http-proxy.example.com -Dhttp.proxyPort=8080 等 JVM 参数允许我执行基本的 URL 功能,例如检索 HTTP 状态代码(谷歌返回 200)。然而,使用 ODataClient 访问 OData 服务是不可能的(下面的代码)。不会抛出任何错误。

ODataClient client = ODataClientFactory.getClient();
ODataServiceDocumentRequest request = client.getRetrieveRequestFactory().getServiceDocumentRequest(SERVICE_ROOT);
ODataRetrieveResponse<ClientServiceDocument> response = request.execute();

我尝试使用 Olingo 中的代理功能,但没有成功:

client.getConfiguration().setHttpClientFactory(new ProxyWrappingHttpClientFactory(URI.create("http://http-proxy.example.com:8080")));

我做错了什么,我还有什么选择?

非常感谢。

最佳答案

如果您使用 NTLM 代理,您可以尝试使用 NTLMAuthHttpClientFactory。

NTLMAuthHttpClientFactory ntlm = new NTLMAuthHttpClientFactory(username, password, workstation, domain);
client.getConfiguration().setHttpClientFactory(ntlm);

如果这不起作用,您可以尝试使用 cntlm。安装它,在 C:\Program Files (x86)\Cntlm\cntlm.ini 中更改用户名、密码、域和代理,然后调用 net start cntlm。将此用于 Olingo:

client.getConfiguration().setHttpClientFactory(new ProxyWrappingHttpClientFactory(URI.create("http://localhost:3128")));

关于java - 如何在代理后面使用 Apache Olingo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41616887/

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