Mars视频笔记——HTTP操作1,2,3

4-7 HTTP操作(一)

1 什么是HTTP协议

超文本传输协议

客户端和服务器端请求应答的标准

客户端浏览器或其他程序与Web服务器之间的应用层通信协议

无状态协议

2 HTTP工作原理

建立连接

客户端发送请求

服务器端响应请求

断开连接

3 HTTP运行流程

请求报文格式:

请求行-通用信息头-请求头-实体头-报文主体

响应报文格式:

响应行-通用信息头-响应头-实体头-报文主体

4-8 HTTP操作(二)

1 Apache HTTP API 介绍

2 发送请求和接受响应的流程

		//生成一个请求对象
		HttpGet httpGet = new HttpGet("http://www.baidu.com");
		//生成一个Http客户端对象
		HttpClient httpClient = new DefaultHttpClient();
		//使用Http客户端发送请求对象
		HttpResponse httpResponse = httpClient.execute(httpGet); //该方法会返回一个HttpResponse对象
		//取出内容 代表一个Http消息
		HttpEntity httpEntity = httpResponse.getEntity();
		InputStream inputStream = httpEntity.getContent();
		//进行一些IO流的操作
		BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
		String result = "";
		String line = "";
		while((line = reader.readLine()) = null){
			result = result + line;
		}
		System.out.println(result);
		//...
		inputStream.close();

 

4-9 HTTP操作(三)

1 HTTP请求的方法

2 使用GET方法发送请求

get URL xxxxx?key=value&key=value...

剩下的操作和HTTP2中一样

url为拼上?key=value..之后的url

3 使用POST方法发送请求

		NameValuePair nameValuePair1 = new BasicNameValuePair("name",name); //name为读取的值
		NameValuePair nameValuePair2 = new BasicNameValuePair("age",age); //age为读取的值
		List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
		nameValuePairs.add(nameValuePair1);
		nameValuePairs.add(nameValuePair2);
		//生成Entity对象
		HttpEntity requestHttpEntity = new UrlEncodedFormEntity(nameValuePairs);
		HttpPost httpPost = new HttpPost(url); //这里的url是baseUrl 不用拼上?key=value...
		httpPost.setEntity(requestEntity);
		//之后的操作一样
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章