这是什么啊

14.java http访问

Http访问 
网络访问的两种方式:
GET:
 1.默认的
 2.向服务器端传递数据:
  url?参数名=参数值&参数名=参数值
 3.传递数据的大小受限
 4.容易乱码
 5.不安全
POST:
 1.向服务器端传递数据:
  写,客户端,将数据--》包裹--》服务器端
 2.可以传递大量的数据
 3.不容易乱码
 4.数据安全
需求1:直接获取图片或音频资源
 使用get就可以
需求2:用客户端程序模拟登录
 客户端:提供用户名和密码,传给服务器,服务器接收,给客户端响应:判断是否登录成功,
 Get方式:参数:追加到url后边
 Post方式:
参数名=参数值&参数名=参数值。。。
访问:客户端程序-->网络访问:
方法一:JAVA官方推荐:HttpUrlConnection
 1.客户端访问服务器直接获取数据资源:get请求
 2.客户端传递数据给服务器,再获取响应:get/post
方法二:Apache,对网络访问进行了封装:提供的访问方式:HttpClient
 
 1.客户端访问服务器直接获取数据资源:get请求
 2.客户端传递数据给服务器,再获取响应:
 get
 post:数据通过流写给服务器:原理
  apache:用httpEntity
客户端:
1.创建对象
2.创建请求方式:post
3.客户端将数据:
 1.把数据封装到httpEntity中,
 2.挂到httpPost请求对象上
4.httpCLient.execute(httppost)-->得到响应
。。。。
总结:网络访问:
1.JAVA官方推荐:HttpUrlConnection
 操作步骤:
 step1:提供访问的路径:
 step2:需要创建URL对下
 step3:从URL对象中打开连接:HttpUrlConnection
  openConnect();--->UrlConnection
 step4:参数的设置
  connection.setConnectTimeOut(毫秒);
  connection.setRequsetMethod("GET/POST");//
   //1.参数字母都大写
   //2.默认是get请求
  //打开流:
  connection.setDoInput(true);//打开输入流,用于读服务器的响应,
   //默认为true
  connecion.setDoOutput(true);//打开输出流,用于向服务器写数据
   //默认为false
  使用规则:
  get:url?参数
  post:涉及到先将数据传给服务器:
   打开输出流,向服务器写数据
 
 step5:获取响应的状态码:200
 step6:获取相应的数据:使用io流的操作。
  connecion.getInputStream()-->InputStream
 step7:关闭连接
2.Apache封装的:HttpClient
 step1:提供路径地址
 step2:创建客户端对象:httpClient
 step3:通过路径地址创建请求对象:HttpGet/HttpPost
 step4:
  post,有数据先传递给服务器
  将要传递的数据,封装到NameValuePair中,加入list集合
  构建HttpEntity对象,挂到post对象
 step5:获取相应码:
  httpResponse.getStateLine().getStateCode()==200
 step6:从httpResponse,获取HttpEntity对象(服务器响应的数据)
  httpResponse.getEntity()-->HttpEntity
 step7:从HttpEntity中获取数据
  方法一:使用IO流
   httpEntity.getContent()-->InputStream
  方法二:使用EntityUtils工具类
   toByteArray()-->byte[]
   toString()-->String
单词:
URL:将统一资源定位符封装为java的url对象
HttpUrlConnection:url的连接对象
HttpClient:客户端对象(接口)
DefaultHttpClient:(实现类)
HttpGet:get请求对象(类)
HttpPost:post请求对象(类)
HttpResponse:响应对象(接口)
HttpEntity:载体对象:用于传递数据(接口)
UrlEncodedFormEntity:(实现类)
EntityUtils:工具类(类)
NameValuePair:名值对(接口)
BasicNameValuePair:(实现类)
 
作业:意会,明天手写代码
posted @ 2015-12-03 22:33  陈旭缘  阅读(253)  评论(0编辑  收藏  举报
这是什么