Java最全Httpclient 4(1),面试mysql优化

最后

本人也收藏了一份Java面试核心知识点来应付面试,借着这次机会可以送给我的读者朋友们

目录:

全靠这套面试题,才让我有惊无险美团二面拿offer  (面经解析)

Java面试核心知识点

一共有30个专题,足够读者朋友们应付面试啦,也节省朋友们去到处搜刮资料自己整理的时间!

全靠这套面试题,才让我有惊无险美团二面拿offer  (面经解析)

Java面试核心知识点

已经有读者朋友靠着这一份Java面试知识点指导拿到不错的offer了

全靠这套面试题,才让我有惊无险美团二面拿offer  (面经解析)

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

public class HttpClientTest {

private static final int BYTE_LEN = 1024*100; // 100KB

private static final String CHARSET = "UTF-8";	// 编码格式

private static HttpClient  client = HttpClients.createDefault(); // 执行请求客户端



public static void main(String[] args) throws Exception {

// getDemo();

// postDemo();

// FileUploadDemo();

	FileDownloadDemo();

}



/**

 * GET请求Demo

 * @throws Exception

 */

public static void getDemo() throws Exception{

	// 请求地址,以及参数设置

	String url = String.format(

			"http://localhost:8080/demo/login?loginName=%s&password=%s",

			"jack",			

			"jack123");

	HttpGet get = new HttpGet(url);				

	

	// 执行请求,获取相应

	String resp = getRespString( get);

	System.out.println(resp);

}



/**

 * POST请求Demo

 * @throws Exception

 */

public static void postDemo()throws Exception{

	// post 请求地址

	HttpPost post = new HttpPost("http://localhost:8080/UploadPicture/login");

	// post 请求参数

	List<BasicNameValuePair> pairs = new ArrayList<BasicNameValuePair>();

	pairs.add(new BasicNameValuePair("loginName", "jack"));

	pairs.add(new BasicNameValuePair("password", "jack123"));

	HttpEntity entity = new UrlEncodedFormEntity(pairs, CHARSET);		

	post.setEntity(entity);		

	// 执行情趣,获取相应

	String resp = getRespString(post);		

	System.out.println(resp);

}



/**

 * 文件上传Demo

 * @throws Exception

 */

public static void FileUploadDemo()throws Exception{

	HttpPost post = new HttpPost("http://localhost:8080/demo/uploadimg");

	MultipartEntityBuilder builder = MultipartEntityBuilder.create();

	File file = new File("a.jpg");

	builder.addPart("file", new FileBody(file));

	builder.addPart("userid", new StringBody("A001",ContentType.TEXT_PLAIN));

	HttpEntity entity = builder.build();

	post.setEntity(entity);

	String resp = getRespString(post);

	System.out.println(resp);

}



/**

 * 文件下载Demo

 * @throws Exception 

 */

public static void FileDownloadDemo() throws Exception{

	// 图片地址

	HttpGet get = new HttpGet("http://www.w3cschool.cn/attachments/image/20170302/1488437701888550.png");

	// 执行请求,获取响应流

	InputStream in = getRespInputStream(get);

	// InputStream 转 File,保存在当前工程中

	File file = new File("b.jpg");

	FileOutputStream fos = new FileOutputStream(file);

	byte b[] = new byte[BYTE_LEN];

	int j = 0;

	while( (j = in.read(b))!=-1){

		fos.write(b,0,j);

	}

	fos.close();

	System.out.println("图片下载完成!");

}



/**

 * 获取响应信息(String)

 * @param client

 * @param request

 * @return

 * @throws Exception

 */

public static String getRespString(HttpUriRequest request) throws Exception{

	// 获取响应流

	InputStream in = getRespInputStream(request);

	// 流转字符串

	StringBuffer sb = new StringBuffer();

	byte[]b = new byte[BYTE_LEN];

	int len = 0;

	while ((len = in.read(b)) != -1) {

		sb.append(new String(b,0,len,CHARSET));

	}

	return sb.toString();

}



/**

 * 获取响应信息(InputStream)

 * @param client

 * @param request

 * @return

 * @throws Exception

 */

public static InputStream getRespInputStream(HttpUriRequest request) throws Exception{

	// 获取响应对象

	HttpResponse response = client.execute(request);

	// 获取Entity对象

	HttpEntity entity =	response.getEntity();

	// 获取响应信息流

	InputStream in = null;

	if (entity != null) {

		in =  entity.getContent();

	}

写在最后

很多人感叹“学习无用”,实际上之所以产生无用论,是因为自己想要的与自己所学的匹配不上,这也就意味着自己学得远远不够。无论是学习还是工作,都应该有主动性,所以如果拥有大厂梦,那么就要自己努力去实现它。

最后祝愿各位身体健康,顺利拿到心仪的offer!

由于文章的篇幅有限,所以这次的蚂蚁金服和京东面试题答案整理在了PDF文档里

蚂蚁、京东Java岗4面:原理+索引+底层+分布式+优化等,已拿offer

蚂蚁、京东Java岗4面:原理+索引+底层+分布式+优化等,已拿offer

蚂蚁、京东Java岗4面:原理+索引+底层+分布式+优化等,已拿offer

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

nBbEDIp-1715304323952)]

[外链图片转存中…(img-XkV3Ib8k-1715304323952)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值