java url headers,Java CloseableHttpResponse.getHeaders方法代码示例
import org.apache.http.client.methods.CloseableHttpResponse; //导入方法依赖的package包/类
/**
* Makes a HTTP request to the given URL using the given request body,
* parameters and HTTP headers. The parameters are used as URL parameters,
* but if there's a parameter "resourceId", it's added directly to the end
* of the URL. If there's no request body, the value can be null.
*
* @param url URL where the request is sent
* @param params request parameters
* @param requestBody request body
* @param headers HTTP headers to be added to the request
* @return response as string
*/
@Override
public ClientResponse send(String url, String requestBody, Map params, Map headers) {
// Build target URL
url = ClientUtil.buildTargetURL(url, params);
// Create HTTP client
CloseableHttpClient httpClient = HttpClients.createDefault();
// Build request
HttpUriRequest request = this.buildtHttpRequest(url, requestBody, headers);
LOGGER.info("Starting HTTP {} operation.", request.getMethod());
// Add headers
if (headers != null && !headers.isEmpty()) {
for (Map.Entry entry : headers.entrySet()) {
LOGGER.debug("Add header : \"{}\" = \"{}\"", entry.getKey(), entry.getValue());
request.setHeader(entry.getKey(), entry.getValue());
}
}
try {
//Send the request; It will immediately return the response in HttpResponse object
CloseableHttpResponse response = httpClient.execute(request);
// Get Content-Type header
Header[] contentTypeHeader = response.getHeaders("Content-Type");
String contentType = null;
// Check for null and empty
if (contentTypeHeader != null && contentTypeHeader.length > 0) {
contentType = contentTypeHeader[0].getValue();
}
// Get Status Code
int statusCode = response.getStatusLine().getStatusCode();
// Get reason phrase
String reasonPhrase = response.getStatusLine().getReasonPhrase();
// Get response payload
String responseStr = ClientUtil.getResponseString(response.getEntity());
response.close();
httpClient.close();
LOGGER.debug("REST response content type: \"{}\".", contentType);
LOGGER.debug("REST response status code: \"{}\".", statusCode);
LOGGER.debug("REST response reason phrase: \"{}\".", reasonPhrase);
LOGGER.debug("REST response : \"{}\".", responseStr);
LOGGER.info("HTTP {} operation completed.", request.getMethod());
return new ClientResponse(responseStr, contentType, statusCode, reasonPhrase);
} catch (IOException e) {
LOGGER.error(e.getMessage(), e);
LOGGER.warn("HTTP {} operation failed. An empty string is returned.", request.getMethod());
return null;
}
}
java url headers,Java CloseableHttpResponse.getHeaders方法代码示例相关推荐
- java secretkey用法_Java SecretKeyFactory.generateSecret方法代码示例
本文整理汇总了Java中javax.crypto.SecretKeyFactory.generateSecret方法的典型用法代码示例.如果您正苦于以下问题:Java SecretKeyFactory ...
- java polygon 用法_Java Polygon.getBounds方法代码示例
import java.awt.Polygon; //导入方法依赖的package包/类 private SelectionShape translatePointsToRealSize(Select ...
- java makedir用法_Java Files.makeDir方法代码示例
import org.nutz.lang.Files; //导入方法依赖的package包/类 protected void download(String openid, String media_ ...
- java args包_Java Args.positive方法代码示例
import org.apache.http.util.Args; //导入方法依赖的package包/类 /** * Creates new instance of BHttpConnectionB ...
- java shape用法_Java PShape.scale方法代码示例
import processing.core.PShape; //导入方法依赖的package包/类 public void updateAnim(){ if(pg_src_small == null ...
- java round指令_Java PApplet.round方法代码示例
import processing.core.PApplet; //导入方法依赖的package包/类 public static final void updatePos() { if(follow ...
- Java 怎么 get char_Java KeyCharacterMap.getDeadChar方法代码示例
import android.view.KeyCharacterMap; //导入方法依赖的package包/类 @Override public boolean onKeyDown(int keyC ...
- java gettext用法_Java Context.getText方法代码示例
import android.content.Context; //导入方法依赖的package包/类 /** * Song Details * * @param context * @param t ...
- java soap封装_Java SOAPMessage.writeTo方法代码示例
import javax.xml.soap.SOAPMessage; //导入方法依赖的package包/类 private byte[] createProbeXML() throws SOAPEx ...
最新文章
- 未来网络发展的趋势——IPv6详细讲解与基本配置
- hdu 1166 敌兵布阵 (线段树)
- 2019运维技能风向标
- C++中多态性学习(上)
- Azure DevOps+Docker+Asp.NET Core 实现CI/CD(三.实现CD持续部署管道)
- 流操作中的noException
- 黑苹果uhd630黑屏_求助各位图吧大佬一个黑苹果问题(黑苹果吧发帖得四级),目前使...
- liunx mysql端口没开_linuxmysql可以terminal登录,3306端口未打开原因记录(转)
- WCF系列之什么是WCF
- 凤凰服务器系统,凤凰系统云服务器
- 单目摄像机标定与双目摄像机标定有什么区别
- 关于苹果投资滴滴背后的三点疑问
- 【自然语言处理】【多模态】Product1M:基于跨模态预训练的弱监督实例级产品检索
- 爬取巨潮资讯网中与“贵州茅台”相关的公告的标题和网址。
- 宇宙的本源—存在之道和变化之道
- android获取网页接口JSON数据
- 举个栗子!Tableau 技巧(93):用 热图标记 地图或散点图
- Python爬虫可以爬取什么呢?
- 英语电影观后感之角斗士
- V831——条形码识别