我的程序應該向https站點發出多個POST請求,並且每次執行新請求時都需要它執行SSL握手。 但是,它似乎只是第一次握手,然後使用現有連接來執行其他請求而無需新的握手。我確信它以後不會進行握手,因爲第一次需要大約700毫秒來完成請求並接收響應,但後來只需要大約30毫秒。如何使用Jersey客戶端爲每個POST請求建立新的連接
下面是如何初始化客戶端:(我在這裏缺少一些財產?)
SSLContext context = SSLContext.getInstance("SSL");
context.init(kms, trustAllCerts, null);
SSLContext.setDefault(context);
ClientConfig config = new DefaultClientConfig();
config.getProperties().put(ClientConfig.PROPERTY_READ_TIMEOUT, timeout * 1000);
config.getProperties().put(ClientConfig.PROPERTY_FOLLOW_REDIRECTS, false);
config.getFeatures().put(ClientConfig.FEATURE_DISABLE_XML_SECURITY, true);
client = Client.create(config);
這裏就是我做的實際要求:
ClientResponse cr = service.type(MediaType.APPLICATION_XML).accept(MediaType.APPLICATION_XML).post(ClientResponse.class, batch);
(服務變量是生成器類,創建ClientRequest。它是指定URL的地方。)
有什麼想法嗎?
「我需要它在每次執行新請求時都進行SSL握手。」爲什麼? –
用於測試服務器如何處理請求。 – user1619880