在android用Get方式發送http請求


煩人的日子終於過去啦,終於又可以寫博客啦,對自己的android學習做個總結,方便以后查看...。。。

一、在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中也是一樣的。。

 

簡單的訪問了百度,返回的就是百度搜索首頁的源代碼:圖片一直上傳不了。。。就不截圖啦。

正確返回的就是你在網頁單擊右鍵有個查看源代碼,返回的就是它,輸出的也是它,自己可以去對比下一樣不,是一樣的。。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM