Android HTTP

Android请求网络行为需要声明权限;

<!-- 访问Internet权限-->

  <uses-permission android:name="android.permission.INTERNET">

 

Http请求头;
 Request-Line----GET/HTTP/1.1 代表以get方式请求1.1版本的HTTP协议。
 Accept ---------*/* 代表浏览器可以接受所有的数据类型。
 Accept-Encoding-gzip, deflate代表浏览器可以接收压缩过后的数据。当服务器给客户端传输数据的时候为了减少流量,可以进行压缩,压缩之后的数据传给浏览器,浏览器可以进行自动解压缩。
 Accpet-Language---zh-cn代表客户端浏览器的语言。
 Connection----Keep-Alive代表维护长度链接。
 Cookie-----YYID=612341421241241124* 代表cookid的值
 Host----www.sohu.com 代表请求的主机名。
 If-Modified-since----Sat,27 Mar 2010 02:09:14 GMT;length=250408代表网页内容的访问的时间。
 User-Agent----Mozilla/4.0(compatible;MSIE 6.0;windows NT 5.1;SV1;CIBA) d代表IE浏览器作为软件的标识。
 
 服务器返回给客户端的内容:
  HTML
  XML
  JSON

 

 1 public class MyHttp {
 2     private static InputStream  inStream = null;
 3     public void main()
 4     {
 5         HttpUrl("http://www.baidu.com/img/bdlogo.gif");
 6     }
 7     public static Bitmap HttpUrl(String path)
 8     {
 9         try {
10             URL url = new URL(path);
11             HttpURLConnection conn = (HttpURLConnection)url.openConnection();
12             conn.setConnectTimeout(5000);//设置超时
13             conn.setRequestMethod("GET"); //设置请求方法。
14             //获得请求状态吗
15             if(conn.getResponseCode()==200)
16             {
17                 //获得输入流
18                 inStream = conn.getInputStream();
19                 //编码流   decode 编码 Stream
20                 Bitmap bitmap = BitmapFactory.decodeStream(inStream);
21                 
22                 return bitmap;
23             }
24         } catch (MalformedURLException e) {
25             
26         } catch (IOException e) {
27             e.printStackTrace();
28         }finally{
29             try {
30                 if(inStream!=null){
31                     inStream.close();                    
32                 }
33             } catch (IOException e) {
34                 e.printStackTrace();
35             }
36         }
37         return null;
38     }
39 }
URLConnection

1:创建URL 实例。

2::HttpURLConnection conn = (HttpURLConnection)url.openCOnnection();相当于打开链接;

3:设置超时请求,设置请求方式等。 setConnectTimeout(5000);,setRequestMethod("GET");  POST

4:判断返回结果码 conn.getResponseCode()==200为正常。

5:开始处理 获取流:conn.getInputStream();

 


  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。