在Android用Get方式发送HTTP请求

一、在Android用Get方式发送http请求,使用的是Java标准类,也比较简单。

主要分以下几步:

1.构造URL

URL url = new URL(String path);

2.设置连接

httpURLConnection = (HttpURLConnection) url.openConnection();
//超时时间
httpURLConnection.setConnectTimeout(3000);
//表示设置本次http请求使用GET方式
httpURLConnection.setRequestMethod("GET");
int responsecode = httpURLConnection.getResponseCode();//返回至为响应编号,如:HTTP_OK表示连接成功。
3.获取返回数据

if(responsecode == HttpURLConnection.HTTP_OK){
inputStream = httpURLConnection.getInputStream();
}  //得到inputStream 就好办啦。
new InputStreamReader(inputStream,"utf-8")

4.关闭连接

void disconnect()

二、下面通过一个简单的Demo实现get方式的请求:

package com.http.get; 
 
import java.io.BufferedReader; 
import java.io.FileOutputStream; 
import java.io.IOException; 
import java.io.InputStream; 
import java.io.InputStreamReader; 
import java.io.UnsupportedEncodingException; 
import java.net.HttpURLConnection; 
import java.net.MalformedURLException; 
import java.net.URL; 
 
 
 
public class HttpUtils { 
 
    private static String URL_PATH="http://www.baidu.com"; 
        private static HttpURLConnection httpURLConnection = null; 
    public HttpUtils(){ 
         
    } 
 
    public static void shuchu(){ 
        InputStream inputStream = getInputStream(); 
        String result; 
        try { 
            BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream,"utf-8")); 
            result = ""; 
            String line = ""; 
      try { 
            while((line = reader.readLine())!= null){ 
                  result = result+ line; 
              } 
    } catch (IOException e) { 
            // TODO Auto-generated catch block 
            e.printStackTrace(); 
  } 
          System.out.println(result); 
          httpURLConnection.disconnect(); 
        } catch (UnsupportedEncodingException e) { 
            // TODO Auto-generated catch block 
            e.printStackTrace(); 
        } 
       
    } 
    /**
    * 获取服务端的数据,以InputStream返回
    * @return
    */ 
    public static InputStream getInputStream(){ 
        InputStream inputStream = null; 
         
        try { 
            URL url = new URL(URL_PATH); 
            if(url != null){ 
                try { 
                    httpURLConnection = (HttpURLConnection) url.openConnection(); 
                    //超时时间 
                    httpURLConnection.setConnectTimeout(3000); 
                    //表示设置本次http请求使用GET方式 
                    httpURLConnection.setRequestMethod("GET"); 
                    int responsecode = httpURLConnection.getResponseCode(); 
                     
                    if(responsecode == HttpURLConnection.HTTP_OK){ 
                        inputStream = httpURLConnection.getInputStream(); 
                    } 
                } catch (IOException e) { 
                    // TODO Auto-generated catch block 
                    e.printStackTrace(); 
                } 
            } 
        } catch (MalformedURLException e) { 
            // TODO Auto-generated catch block 
            e.printStackTrace(); 
        } 
        return inputStream; 
    } 
    public static void main(String[] args){ 
        //保存文件到本地 
        //saveImageToDisk(); 
        shuchu(); 
    } 


  //因为get方式是这ava标准类,直接写的java程序,不过都一样,android中也是一样的。。

简单的访问了百度,返回的就是百度搜索首页的源代码:图片一直上传不了。。。就不截图啦。

正确返回的就是你在网页单击右键有个查看源代码,返回的就是它,输出的也是它,自己可以去对比下一样不,是一样的。

猜你喜欢

转载自www.linuxidc.com/Linux/2015-08/121970.htm