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);//之后的操作一样?