问题标签 [jetty-httpclient]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 使用jetty httpclient的jar依赖
我想使用码头httpclient(在 netbeans 中),但 jar 依赖项的数量最少。我知道我可以将所有 jar 从 jetty lib 文件夹导入到我的项目中,但我想知道最少的依赖项是多少,以及你是如何找到这个的?我们有找到 jar 依赖项的工具吗?
java - 将 HTTP 管道与 Jetty HTTPClient 一起使用
我正在尝试弄清楚如何使用 HTTPClient (org.eclipse.jetty.client.HttpClient),以便它将通过管道传输 HTTP 请求。
我尝试以异步模式创建一些 ContentExchange 实例并为每个实例应用 send() 方法,但每个 HTTP 请求在发送下一个请求之前都等待它的响应。
您能否提供此案例的代码片段?
java - 使用具有可用()方法返回相对较小值的流时,Jetty HttpClient 在 POST 上崩溃
我使用 Jetty HttpClient 发送 POST 请求,其正文约为几 MB。我希望 Jetty 尽快开始流式传输请求,所以我使用setRequestContentSource方法。
问题是,当我使用任何带有 available() 方法的输入流返回相对较小的值(如 4096)时,Jetty 有时会崩溃并出现以下错误:
这是不确定的,似乎将 Thread.sleep(10) 放在流的 read() 方法中可以解决问题。使用管道流时也可以修复此错误。这三件事让我觉得这是某种竞赛条件。
我想这是 Jetty 中的错误,但我想确定在这种情况下我是否没有做任何奇怪的事情。
java - 在 Jetty HttpClient 中访问对等证书
我正在使用 Jetty HttpClient 发出 HTTPS 请求。在建立 SSL 连接之后,在发送数据之前,我想验证我正在与预期的服务器交谈。基本上,如果我想向 www.foo.com 发送请求,那么我想验证服务器是否具有该域名的证书。
实现这一点的一种方法是创建我自己的TrustManager
并将其用于创建SslContextFactory
提供给HttpClient
. 信任管理器中可用的回调是:
在所有情况下,我都可以访问证书,但不能访问原始请求(我需要原始域名)。
想到的第二个选项是从HttpExchange
我用来发出请求的后代访问对等证书。例如,调用后HttpClient.send(exchange)
,我可以访问对等证书并执行验证。但是,似乎无法从交换中访问 SSL 信息(对等证书SSLEngine
或对象)。SSLSocket
最重要的是,HttpClient 本身似乎没有对证书内容进行任何验证。这意味着我没有地方可以插入我的验证逻辑,并且 HttpClient 容易受到 DNS 欺骗攻击(有关该主题的讨论,请参见http://www.cs.utexas.edu/~shmat/shmat_ccs12.pdf)。
谁能提示我可以在哪里插入服务器名称验证?
ssl - Jetty HttpClient 9 (9.0.0.M5) SSLContextFactory 的 TrustAll 标志不起作用?
我正在使用 Jetty HttpClient 9 进行一些简单的网络爬取,但我似乎无法使其与 HTTPS 一起使用。以下发出同步 GET 请求的简单代码...
创建 SslContextFactory 时在哪里使用 TrustAll 标志会导致以下异常,该异常似乎与 SSL 相关...
我在这里做错了什么?这是让 Jetty HttpClient 信任所有 SSL 连接的正确方法吗?如果没有,正确的方法是什么?
java - 使用 Jetty 9 从 HttpClient 获取响应时出错
我想使用 Jetty 和 HttpClient 类从外部服务器获取内容。现在我想将获得的响应复制为HttpServletResponse
并返回给客户端(浏览器)。我尝试了一些东西,但无法成功。我想我没有通过内部课程。
这是我的代码:
错误在于分配response
为:
无法分配最终的局部变量 response,因为它是在封闭类型中定义的
如果我不使用final
参数,也会出现错误,
不能在不同方法中定义的内部类中引用非最终变量响应
原因是什么?
java - Jetty HTTPClient 包括
我正在尝试使用 Jetty 连接到使用 websocket 的 HTTP 服务器。问题是编译器无法解析类 HTTPClient。我在stackoverflow上搜索过,我找到了一个解决方案,但有用资源的链接不再可用......我应该包含什么JAR来运行这个例子? http://wiki.eclipse.org/Jetty/Tutorial/HttpClient
该页面没有说明...谢谢
ssl - Jetty HttpClient 的 SSL 重新协商失败
我有一个基于 Jetty 的 ProxyServlet 的代理 servlet,当尝试将请求代理到远程服务器时,由于代理的 HttpClient 中的 SSL 重新协商失败,它会看到间歇性的 502 响应。Wireshark 跟踪显示 SSL 握手已完成,但随后 HttpClient 通过发送另一个客户端 Hello 数据包重新开始协商。远程服务器(在这种情况下为 F5)配置为不允许 SSL 重新协商,因此它关闭连接,导致代理请求失败。
我在配置代理的 HttpClient 时尝试调用 SslContextFactory.setRenegotiationAllowed(false),但这只会导致请求在代理内部失败。调试级别日志记录产生如下所示的输出。请注意“Renegotiation Denied”消息,该消息会导致流关闭,从而在随后尝试将代理请求写入输出流时导致 Connection Closed 异常。
那么是什么导致 HttpClient 认为它需要执行 SSL 重新协商,我可以做些什么来解决这个问题呢?更改 F5 的配置以允许 SSL 重新协商不是一种选择。问题是间歇性的,并且可重复性是可变的,这表明可能存在时间组件。
我在 Java 1.8.0_66 上使用 Jetty 9.2.13.v20150730。
2015-10-26 15:23:04,987 | DEBUG | vletModel-46-263 | SslConnection | 73 - org.eclipse.jetty.util - 9.2.13.v20150730 | SslConnection@276888f4{NEED_WRAP,eio=-1/-1,di=-1} -> HttpConnectionOverHTTP@76f2815f(l:/9.32.133.96:51386 <-> r:mail.notes.collabservdaily.swg.usma.ibm.com/9.70.230.131:443,closed=false)[HttpChannelOverHTTP@44d24828(exchange=HttpExchange@3284d378 req=TERMINATED/null@null res=PENDING/null@null)[send=HttpSenderOverHTTP@74d58ca9(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator{s=START}],recv=HttpReceiverOverHTTP@501e585d(rsp=IDLE,failure=null)[HttpParser{s=START,0 of 0}]]] fill enter
2015-10-26 15:23:04,987 | DEBUG | vletModel-46-263 | ChannelEndPoint | 73 - org.eclipse.jetty.util - 9.2.13.v20150730 | filled 1006 SelectChannelEndPoint@57eceb70{mail.notes.collabservdaily.swg.usma.ibm.com/9.70.230.131:443<->51386,Open,in,out,-,-,15/30000,SslConnection}{io=0,kio=0,kro=1}
2015-10-26 15:23:04,987 | DEBUG | vletModel-46-263 | SslConnection | 73 - org.eclipse.jetty.util - 9.2.13.v20150730 | SslConnection@276888f4{NEED_WRAP,eio=1006/-1,di=0} -> HttpConnectionOverHTTP@76f2815f(l:/9.32.133.96:51386 <-> r:mail.notes.collabservdaily.swg.usma.ibm.com/9.70.230.131:443,closed=false)[HttpChannelOverHTTP@44d24828(exchange=HttpExchange@3284d378 req=TERMINATED/null@null res=PENDING/null@null)[send=HttpSenderOverHTTP@74d58ca9(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator{s=START}],recv=HttpReceiverOverHTTP@501e585d(rsp=IDLE,failure=null)[HttpParser{s=START,0 of 0}]]] filled 1006 encrypted bytes
2015-10-26 15:23:04,987 | DEBUG | vletModel-46-263 | SslConnection | 73 - org.eclipse.jetty.util - 9.2.13.v20150730 | SslConnection@276888f4{NEED_WRAP,eio=0/-1,di=977} -> HttpConnectionOverHTTP@76f2815f(l:/9.32.133.96:51386 <-> r:mail.notes.collabservdaily.swg.usma.ibm.com/9.70.230.131:443,closed=false)[HttpChannelOverHTTP@44d24828(exchange=HttpExchange@3284d378 req=TERMINATED/null@null res=PENDING/null@null)[send=HttpSenderOverHTTP@74d58ca9(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator{s=START}],recv=HttpReceiverOverHTTP@501e585d(rsp=IDLE,failure=null)[HttpParser{s=START,0 of 0}]]] unwrap Status = OK HandshakeStatus = NEED_WRAP
bytesConsumed = 1006 bytesProduced = 977
2015-10-26 15:23:04,988 | DEBUG | vletModel-46-263 | SslConnection | 73 - org.eclipse.jetty.util - 9.2.13.v20150730 | SslConnection@276888f4{NEED_WRAP,eio=0/-1,di=977} -> HttpConnectionOverHTTP@76f2815f(l:/9.32.133.96:51386 <-> r:mail.notes.collabservdaily.swg.usma.ibm.com/9.70.230.131:443,closed=false)[HttpChannelOverHTTP@44d24828(exchange=HttpExchange@3284d378 req=TERMINATED/null@null res=PENDING/null@null)[send=HttpSenderOverHTTP@74d58ca9(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator{s=START}],recv=HttpReceiverOverHTTP@501e585d(rsp=IDLE,failure=null)[HttpParser{s=START,0 of 0}]]] renegotiation denied
2015-10-26 15:23:04,988 | DEBUG | vletModel-46-263 | SslConnection | 73 - org.eclipse.jetty.util - 9.2.13.v20150730 | SslConnection@276888f4{NEED_WRAP,eio=-1/-1,di=977} -> HttpConnectionOverHTTP@76f2815f(l:/9.32.133.96:51386 <-> r:mail.notes.collabservdaily.swg.usma.ibm.com/9.70.230.131:443,closed=false)[HttpChannelOverHTTP@44d24828(exchange=HttpExchange@3284d378 req=TERMINATED/null@null res=PENDING/null@null)[send=HttpSenderOverHTTP@74d58ca9(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator{s=START}],recv=HttpReceiverOverHTTP@501e585d(rsp=IDLE,failure=null)[HttpParser{s=START,0 of 0}]]] fill exit
java - 将 Jetty HttpClient 绑定到网络接口卡
我将在具有两个网络接口卡的机器上使用 Jetty HttpClient,我希望能够将 Jetty HttpClient 强制(绑定)到其中一个 NIC,这可以通过 Jetty HttpClient 实现吗?
java - 如何为 SWT 浏览器和 Jetty HttpClient 设置相同的 CookieStore
由于 ajava.net.CookieStore
在 中管理 cookie org.eclipse.jetty.client.HttpClient
,因此我想与 SWTBrowser
小部件共享 cookie。
HttpClient 和 Browser 都是 Eclipse 技术。有没有办法拥有相同的 cookie 存储?