Java Code Examples for org.apache.http.client.methods.CloseableHttpResponse#getFirstHeader()
The following examples show how to use
org.apache.http.client.methods.CloseableHttpResponse#getFirstHeader() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: CommonHttpResourceDownloader.java From scheduling with GNU Affero General Public License v3.0 | 6 votes |
public UrlContent getResourceContent(String sessionId, String url, boolean insecure) throws IOException { CommonHttpClientBuilder builder = new CommonHttpClientBuilder().maxConnections(CONNECTION_POOL_SIZE) .useSystemProperties() .insecure(insecure); try (CloseableHttpClient client = builder.build()) { CloseableHttpResponse response = createAndExecuteRequest(sessionId, url, client); Header contentDispositionHeader = response.getFirstHeader("Content-Disposition"); String filename; if (contentDispositionHeader != null && contentDispositionHeader.getValue().matches(CONTENT_DISPOSITIOB_REGEXP)) { filename = contentDispositionHeader.getValue().replaceFirst(CONTENT_DISPOSITIOB_REGEXP, "$1"); } else { filename = FileUtils.getFileNameWithExtension(new URL(url)); } return new UrlContent(readContent(response.getEntity().getContent()), filename); } }
Example 2
Source File: FileDownloadServletTest.java From selenium-grid-extensions with Apache License 2.0 | 6 votes |
@Test public void getShouldReturnFileContentsWithNameInHeader() throws IOException { File fileToGet = File.createTempFile("test filename with spaces", ".txt"); FileUtils.write(fileToGet, "expected_content", StandardCharsets.UTF_8); CloseableHttpClient httpClient = HttpClients.createDefault(); String encode = Base64.getUrlEncoder().encodeToString(fileToGet.getAbsolutePath().getBytes(StandardCharsets.UTF_8)); HttpGet httpGet = new HttpGet("/FileDownloadServlet/" + encode); CloseableHttpResponse execute = httpClient.execute(serverHost, httpGet); //check contents are properly sent try ( InputStream content = execute.getEntity().getContent()) { String s = IOUtils.toString(content, StandardCharsets.UTF_8); assertThat(s, is("expected_content")); } //check file name is available from header Header contentDispositionHeader = execute.getFirstHeader(HttpHeaders.CONTENT_DISPOSITION); assertThat(contentDispositionHeader.getValue(), containsString("filename=" + fileToGet.getName())); //check file is not locked by anything assertTrue(fileToGet.delete()); }
Example 3
Source File: RestMessageContext.java From activemq-artemis with Apache License 2.0 | 6 votes |
public int postMessage(String content, String type) throws IOException { String postUri; String nextMsgUri = contextMap.get(KEY_MSG_CREATE_NEXT); if (nextMsgUri == null) { postUri = contextMap.get(KEY_MSG_CREATE); } else { postUri = nextMsgUri; } CloseableHttpResponse response = connection.post(postUri, type, content); int code = -1; try { code = ResponseUtil.getHttpCode(response); // check redirection if (code == 307) { Header redirLoc = response.getFirstHeader("Location"); contextMap.put(KEY_MSG_CREATE_NEXT, redirLoc.getValue()); code = postMessage(content, type);// do it again. } else if (code == 201) { Header header = response.getFirstHeader(KEY_MSG_CREATE_NEXT); contextMap.put(KEY_MSG_CREATE_NEXT, header.getValue()); } } finally { response.close(); } return code; }
Example 4
Source File: JAXRSClientServerNonSpringBookTest.java From cxf with Apache License 2.0 | 6 votes |
private void getAndCompare(String address, String expectedValue, String acceptType, String expectedContentType, int expectedStatus) throws Exception { CloseableHttpClient client = HttpClientBuilder.create().build(); HttpGet get = new HttpGet(address); get.setHeader("Accept", acceptType); get.setHeader("Accept-Language", "da;q=0.8,en"); get.setHeader("Book", "1,2,3"); try { CloseableHttpResponse response = client.execute(get); assertEquals(expectedStatus, response.getStatusLine().getStatusCode()); String content = EntityUtils.toString(response.getEntity()); assertEquals("Expected value is wrong", stripXmlInstructionIfNeeded(expectedValue), stripXmlInstructionIfNeeded(content)); if (expectedContentType != null) { Header ct = response.getFirstHeader("Content-Type"); assertEquals("Wrong type of response", expectedContentType, ct.getValue()); } } finally { get.releaseConnection(); } }
Example 5
Source File: CommonService.java From WeEvent with Apache License 2.0 | 5 votes |
public void writeResponse(CloseableHttpResponse closeResponse, HttpServletResponse res) throws IOException { String mes = EntityUtils.toString(closeResponse.getEntity()); log.info("response: " + mes); Header encode = closeResponse.getFirstHeader(CONTENT_TYPE); res.setHeader(encode.getName(), encode.getValue()); ServletOutputStream out = res.getOutputStream(); out.write(mes.getBytes()); }
Example 6
Source File: WechatPay2Validator.java From wechatpay-apache-httpclient with Apache License 2.0 | 5 votes |
protected final void validateParameters(CloseableHttpResponse response) { String requestId; if (!response.containsHeader("Request-ID")) { throw parameterError("empty Request-ID"); } else { requestId = response.getFirstHeader("Request-ID").getValue(); } if (!response.containsHeader("Wechatpay-Serial")) { throw parameterError("empty Wechatpay-Serial, request-id=[%s]", requestId); } else if (!response.containsHeader("Wechatpay-Signature")){ throw parameterError("empty Wechatpay-Signature, request-id=[%s]", requestId); } else if (!response.containsHeader("Wechatpay-Timestamp")) { throw parameterError("empty Wechatpay-Timestamp, request-id=[%s]", requestId); } else if (!response.containsHeader("Wechatpay-Nonce")) { throw parameterError("empty Wechatpay-Nonce, request-id=[%s]", requestId); } else { Header timestamp = response.getFirstHeader("Wechatpay-Timestamp"); try { Instant instant = Instant.ofEpochSecond(Long.parseLong(timestamp.getValue())); // 拒绝5分钟之外的应答 if (Duration.between(instant, Instant.now()).abs().toMinutes() >= 5) { throw parameterError("timestamp=[%s] expires, request-id=[%s]", timestamp.getValue(), requestId); } } catch (DateTimeException | NumberFormatException e) { throw parameterError("invalid timestamp=[%s], request-id=[%s]", timestamp.getValue(), requestId); } } }
Example 7
Source File: QueueRestMessageContext.java From activemq-artemis with Apache License 2.0 | 5 votes |
@Override public void initPullConsumers() throws IOException { String pullUri = getPullConsumerUri(); CloseableHttpResponse response = null; if (!this.autoAck) { response = connection.post(pullUri, "application/x-www-form-urlencoded", "autoAck=false"); } else { response = connection.post(pullUri); } try { int code = ResponseUtil.getHttpCode(response); if (code == 201) { Header header = response.getFirstHeader("Location"); contextMap.put(KEY_PULL_CONSUMERS_LOC, header.getValue()); header = response.getFirstHeader(KEY_MSG_CONSUME_NEXT); contextMap.put(KEY_MSG_CONSUME_NEXT, header.getValue()); header = response.getFirstHeader(KEY_MSG_ACK_NEXT); if (header != null) { contextMap.put(KEY_MSG_ACK_NEXT, header.getValue()); } } } finally { response.close(); } }
Example 8
Source File: RestMessageContext.java From activemq-artemis with Apache License 2.0 | 5 votes |
private void prepareSelf() throws IOException { String destLink = getDestLink(); CloseableHttpResponse response = connection.request(destLink); int code = ResponseUtil.getHttpCode(response); if (code != 200) { System.out.println("failed to init " + destLink); System.out.println("reason: " + ResponseUtil.getDetails(response)); } try { Header header = response.getFirstHeader(KEY_MSG_CREATE); contextMap.put(KEY_MSG_CREATE, header.getValue()); header = response.getFirstHeader(KEY_MSG_CREATE_ID); contextMap.put(KEY_MSG_CREATE_ID, header.getValue()); header = response.getFirstHeader(KEY_MSG_PULL); if (header != null) { contextMap.put(KEY_MSG_PULL, header.getValue()); } header = response.getFirstHeader(KEY_MSG_PUSH); if (header != null) { contextMap.put(KEY_MSG_PUSH, header.getValue()); } header = response.getFirstHeader(KEY_MSG_PULL_SUB); if (header != null) { contextMap.put(KEY_MSG_PULL_SUB, header.getValue()); } header = response.getFirstHeader(KEY_MSG_PUSH_SUB); if (header != null) { contextMap.put(KEY_MSG_PUSH_SUB, header.getValue()); } } finally { response.close(); } }
Example 9
Source File: TopicRestMessageContext.java From activemq-artemis with Apache License 2.0 | 5 votes |
@Override public void initPullConsumers() throws IOException { String pullUri = getPullConsumerUri(); CloseableHttpResponse response = null; if (this.durableSub || !this.autoAck) { String extraOpt = "durable=" + this.durableSub + "&autoAck=" + this.autoAck; response = connection.post(pullUri, "application/x-www-form-urlencoded", extraOpt); } else { response = connection.post(pullUri); } int code = ResponseUtil.getHttpCode(response); try { if (code == 201) { Header header = response.getFirstHeader("Location"); contextMap.put(KEY_PULL_CONSUMERS_LOC, header.getValue()); header = response.getFirstHeader(KEY_MSG_CONSUME_NEXT); contextMap.put(KEY_MSG_CONSUME_NEXT, header.getValue()); header = response.getFirstHeader(KEY_MSG_ACK_NEXT); if (header != null) { contextMap.put(KEY_MSG_ACK_NEXT, header.getValue()); } } else { throw new IllegalStateException("Failed to init pull consumer " + ResponseUtil.getDetails(response)); } } finally { response.close(); } }
Example 10
Source File: JAXRSClientServerBookTest.java From cxf with Apache License 2.0 | 5 votes |
private void getAndCompare(String address, String expectedValue, String acceptType, String expectedContentType, int expectedStatus) throws Exception { CloseableHttpClient client = HttpClientBuilder.create().build(); HttpGet get = new HttpGet(address); get.addHeader("Accept", acceptType); get.addHeader("Cookie", "a=b;c=d"); get.addHeader("Cookie", "e=f"); get.addHeader("Accept-Language", "da;q=0.8,en"); get.addHeader("Book", "1,2,3"); try { CloseableHttpResponse response = client.execute(get); assertEquals(expectedStatus, response.getStatusLine().getStatusCode()); String content = EntityUtils.toString(response.getEntity()); assertEquals("Expected value is wrong", stripXmlInstructionIfNeeded(expectedValue), stripXmlInstructionIfNeeded(content)); if (expectedStatus == 200) { assertEquals("123", response.getFirstHeader("BookId").getValue()); assertNotNull(response.getFirstHeader("Date")); } if (expectedStatus == 405) { assertNotNull(response.getFirstHeader("Allow")); } if (expectedContentType != null) { Header ct = response.getFirstHeader("Content-Type"); assertEquals("Wrong type of response", expectedContentType, ct.getValue()); } } finally { get.releaseConnection(); } }
Example 11
Source File: AgentUpgradeService.java From gocd with Apache License 2.0 | 5 votes |
private void validateMd5(String currentMd5, CloseableHttpResponse response, String agentContentMd5Header, String what) { final Header md5Header = response.getFirstHeader(agentContentMd5Header); LOGGER.debug("[Agent Upgrade Validate MD5] validating MD5 for {}, currentMD5:{}, responseMD5:{}, headerKey:{}", what, currentMd5, md5Header, agentContentMd5Header); if (md5Header == null) { LOGGER.debug("[Agent Upgrade Validate MD5] Did not find {} MD5 header in response {}.", agentContentMd5Header, response); } if (!"".equals(currentMd5)) { if (!currentMd5.equals(md5Header.getValue())) { jvmExitter.jvmExit(what, currentMd5, md5Header.getValue()); } } }
Example 12
Source File: UnionService.java From seezoon-framework-all with Apache License 2.0 | 4 votes |
@Test public void payPage() throws ParseException, Exception { String mobile = "13249073372"; String email= "[email protected]"; String phoneVerifyCode="874501"; CookieStore cookieStore = valueOperations.get(mobile); HttpClientContext httpClientContext = HttpClientContext.create(); httpClientContext.setCookieStore(cookieStore); String url = UriComponentsBuilder.fromHttpUrl("https://upay.10010.com/npfweb/NpfWeb/buyCard/buyCardSubmit").build().toUriString(); HttpPost request = new HttpPost(url); Map<String, String> params = new HashMap<String,String>(); params.put("cardBean.cardValueCode", "04"); params.put("offerPriceStrHidden", "100.00"); params.put("offerRateStrHidden", "1"); params.put("cardBean.cardValue", "100"); params.put("cardBean.minCardNum", "1"); params.put("cardBean.maxCardNum", "3"); params.put("MaxThreshold01", "15"); params.put("MinThreshold01", "1"); params.put("MaxThreshold02", "10"); params.put("MinThreshold02", "1"); params.put("MaxThreshold03", "6"); params.put("MinThreshold03", "1"); params.put("MaxThreshold04", "3"); params.put("MinThreshold04", "1"); params.put("commonBean.channelType", "101"); //params.put("secstate.state", IOUtils.toString(new FileReader("/Users/hdf/Desktop/1.txt"))); params.put("secstate.state", "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^@^0.0.1"); params.put("cardBean.buyCardAmount", "1"); params.put("cardBean.buyCardEmail", email); params.put("cardBean.buyCardPhoneNo", mobile); params.put("phoneVerifyCode",phoneVerifyCode); params.put("invoiceBean.need_invoice", " 0"); params.put("invoiceBean.invoice_type ", ""); params.put("invoiceBean.is_mailing", "0"); params.put("saveflag ", "false"); params.put("commonBean.provinceCode", ""); params.put("commonBean.cityCode", ""); params.put("invoiceBean.invoice_list ", ""); request.setEntity(getUrlEncodedFormEntity(params)); request.setHeader("Referer", "https://upay.10010.com/npfweb/npfbuycardweb/buycard_recharge_fill.htm"); request.setHeader("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36"); CloseableHttpResponse response = client.execute(request, httpClientContext); System.out.println("response:" + JSON.toJSONString(response)); if (HttpStatus.SC_OK == response.getStatusLine().getStatusCode()) {// 成功 HttpEntity entity = response.getEntity(); if (null != entity) { String result = EntityUtils.toString(entity, "UTF-8"); EntityUtils.consume(entity); System.out.println("result" + result); } else { throw new ServiceException("请求无数据返回"); } } else if (response.getStatusLine().getStatusCode() == 302) { Header header = response.getFirstHeader("location"); // 跳转的目标地址是在 HTTP-HEAD 中的 String newuri = header.getValue(); // 这就是跳转后的地址,再向这个地址发出新申请,以便得到跳转后的信息是啥。 System.out.println("redirect url:" + newuri); HttpGet redirectRequest = new HttpGet(newuri); CloseableHttpResponse response2 = client.execute(redirectRequest, httpClientContext); System.out.println("response2:" + JSON.toJSONString(response2)); } else { throw new ServiceException("请求状态异常失败"); } }
Example 13
Source File: HttpClientLoginLogoutPerfTest.java From keycloak with Apache License 2.0 | 4 votes |
public String getRedirectLocation(CloseableHttpResponse r) { Header locationHeader = r.getFirstHeader("Location"); assertNotNull(locationHeader); return locationHeader.getValue(); }
Example 14
Source File: HttpGetter.java From commafeed with Apache License 2.0 | 4 votes |
/** * * @param url * the url to retrive * @param lastModified * header we got last time we queried that url, or null * @param eTag * header we got last time we queried that url, or null * @return * @throws ClientProtocolException * @throws IOException * @throws NotModifiedException * if the url hasn't changed since we asked for it last time */ public HttpResult getBinary(String url, String lastModified, String eTag, int timeout) throws ClientProtocolException, IOException, NotModifiedException { HttpResult result = null; long start = System.currentTimeMillis(); CloseableHttpClient client = newClient(timeout); CloseableHttpResponse response = null; try { HttpGet httpget = new HttpGet(url); HttpClientContext context = HttpClientContext.create(); httpget.addHeader(HttpHeaders.ACCEPT_LANGUAGE, ACCEPT_LANGUAGE); httpget.addHeader(HttpHeaders.PRAGMA, PRAGMA_NO_CACHE); httpget.addHeader(HttpHeaders.CACHE_CONTROL, CACHE_CONTROL_NO_CACHE); httpget.addHeader(HttpHeaders.USER_AGENT, userAgent); if (lastModified != null) { httpget.addHeader(HttpHeaders.IF_MODIFIED_SINCE, lastModified); } if (eTag != null) { httpget.addHeader(HttpHeaders.IF_NONE_MATCH, eTag); } try { response = client.execute(httpget, context); int code = response.getStatusLine().getStatusCode(); if (code == HttpStatus.SC_NOT_MODIFIED) { throw new NotModifiedException("'304 - not modified' http code received"); } else if (code >= 300) { throw new HttpResponseException(code, "Server returned HTTP error code " + code); } } catch (HttpResponseException e) { if (e.getStatusCode() == HttpStatus.SC_NOT_MODIFIED) { throw new NotModifiedException("'304 - not modified' http code received"); } else { throw e; } } Header lastModifiedHeader = response.getFirstHeader(HttpHeaders.LAST_MODIFIED); String lastModifiedHeaderValue = lastModifiedHeader == null ? null : StringUtils.trimToNull(lastModifiedHeader.getValue()); if (lastModifiedHeaderValue != null && StringUtils.equals(lastModified, lastModifiedHeaderValue)) { throw new NotModifiedException("lastModifiedHeader is the same"); } Header eTagHeader = response.getFirstHeader(HttpHeaders.ETAG); String eTagHeaderValue = eTagHeader == null ? null : StringUtils.trimToNull(eTagHeader.getValue()); if (eTag != null && StringUtils.equals(eTag, eTagHeaderValue)) { throw new NotModifiedException("eTagHeader is the same"); } HttpEntity entity = response.getEntity(); byte[] content = null; String contentType = null; if (entity != null) { content = EntityUtils.toByteArray(entity); if (entity.getContentType() != null) { contentType = entity.getContentType().getValue(); } } String urlAfterRedirect = url; if (context.getRequest() instanceof HttpUriRequest) { HttpUriRequest req = (HttpUriRequest) context.getRequest(); HttpHost host = context.getTargetHost(); urlAfterRedirect = req.getURI().isAbsolute() ? req.getURI().toString() : host.toURI() + req.getURI(); } long duration = System.currentTimeMillis() - start; result = new HttpResult(content, contentType, lastModifiedHeaderValue, eTagHeaderValue, duration, urlAfterRedirect); } finally { IOUtils.closeQuietly(response); IOUtils.closeQuietly(client); } return result; }