org.apache.http.client.methods.CloseableHttpResponse#getFirstHeader()源码实例Demo

下面列出了org.apache.http.client.methods.CloseableHttpResponse#getFirstHeader() 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: scheduling   文件: CommonHttpResourceDownloader.java
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);
        }
    }
 
@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());
}
 
源代码3 项目: activemq-artemis   文件: RestMessageContext.java
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;
}
 
源代码4 项目: cxf   文件: JAXRSClientServerNonSpringBookTest.java
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();
    }
}
 
源代码5 项目: WeEvent   文件: CommonService.java
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());
}
 
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);
    }
  }
}
 
@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();
   }

}
 
源代码8 项目: activemq-artemis   文件: RestMessageContext.java
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();
   }
}
 
@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();
   }
}
 
源代码10 项目: cxf   文件: JAXRSClientServerBookTest.java
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();
    }
}
 
源代码11 项目: gocd   文件: AgentUpgradeService.java
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());
        }
    }
}
 
源代码12 项目: seezoon-framework-all   文件: UnionService.java
@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("请求状态异常失败");
	}
}
 
源代码13 项目: keycloak   文件: HttpClientLoginLogoutPerfTest.java
public String getRedirectLocation(CloseableHttpResponse r) {
    Header locationHeader = r.getFirstHeader("Location");
    assertNotNull(locationHeader);
    return locationHeader.getValue();
}
 
源代码14 项目: commafeed   文件: HttpGetter.java
/**
 * 
 * @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;
}