2017-05-24 39 views
0

我有一個java REST測試代碼來將zap設置爲代理。如何通過Java中的zap代理設置http調用

的proxyURL是HTTP(S)://127.xx.xx.xx:9090

HttpHost proxy = new HttpHost(URLTools.getDNS(proxyURL), 
       URLTools.getPort(proxyURL), 
       URLTools.getURLScheme(proxyURL)); 

     RequestConfig config = RequestConfig.custom().setProxy(proxy) 
       .build(); 

     in_request.setConfig(config); 

當運行測試,有一個錯誤:

javax.net。 ssl.SSLHandshakeException:遠程主機在握手期間關閉了連接。

在ZAP日誌,有一個信息:

[ZAP-ProxyThread-59] WARN org.parosproxy.paros.core.proxy.ProxyThread - 套接字超時而讀第一消息。

正如我檢查,我需要在Java密鑰庫文件中設置zap證書,所以我從zap生成證書,並將其導入到java自己的cacerts文件。但它並不真的工作,同樣的錯誤發生。任何人都可以幫助解釋如何使其工作?

回答

1

希望本FAQ有助於:https://github.com/zaproxy/zaproxy/wiki/FAQsslHandshake 如果沒有,您的服務是否會報告任何錯誤? ZAP日誌中是否還有更多細節?

+0

嗨西蒙,我什麼都試過,但仍是同樣的錯誤,這是我的ZAP日誌: –

+0

閱讀支持SSL/TLS協議... 使用的SSLEngine ... 讀完支持SSL/TLS協議:[SSLv2Hello, SSLv3,TLSv1,TLSv1.1,TLSv1.2] 已啓用不安全的SSL重新協商。 ................. 讀取第一條消息時套接字超時。 –

+0

這表明客戶端在連接到ZAP後沒有發送請求。爲什麼我不能說 - 這可能與您的客戶有關。 –