我正在尝试编写一个基于java的爬虫,它通过https进行身份验证,然后一旦身份验证完成,客户端就必须调用https请求来升级到websocket的连接
Host: <host>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:53.0) Gecko/20100101 Firefox/53.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Sec-WebSocket-Version: 13
Origin: <host>
Sec-WebSocket-Extensions: permessage-deflate
Sec-WebSocket-Key: VCrrJ5AAhB2cIg/xM2dgAA==
Connection: keep-alive, Upgrade
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket
我目前正在使用org.eclipse.jetty.websocket-&gt; websocket-client。如何使用上述库发出类似上述的升级请求。我的应用程序必须是纯粹的java,所以我不介意使用任何其他更好的Java库。
答案 0 :(得分:0)
如果使用Tyrus(Tyrus project),则会发现(如Tyrus Documentation中所述),您可以将自定义配置器用于客户端和服务器端点。因此,在带ClientEndpoint注释的实例中,您可以将其用作注释:
upper
CustomClientConfigurator类似于:
@ClientEndpoint(configurator = CustomClientConfigurator.class )
public class WSocketClnt {
[...]
}