Android中post和get的提交方式 三種

2021-07-26 02:41:27 字數 3811 閱讀 1133

本文主要對android中三種post和get的提交方式進行詳細介紹。通過任何一種方式可以實現的功能是,從安卓手機端提交資料到伺服器端,伺服器端進行判斷,並返回相應的結果。三種方式各有利弊,實現效果相同,在實際的使用過程中可以根據本身的需要進行選擇。

向伺服器提交資料有兩種方式,post和get。兩者的區別主要有三點,安全性、長度限制、資料結構。其中get請求安全性相比較而言較差,資料長度受瀏覽器位址列限制,沒有方法體。兩種都是較為重要的資料提交方式。現簡單介紹一下三種post和get的提交方式。無論是哪種方法實現post和get,get 的訪問路徑都要攜帶資料,而post提交是把資料放在方法體中。

普通方法實現get/post提交:

嚴格遵照http協議進行資料傳輸。在安卓開發環境下,由於主線程不能進行網路訪問,因此需要在開啟乙個子執行緒向伺服器提交資料。為了更加直觀的觀察資料,可以在程式螢幕上顯示伺服器反饋資訊。又由於子執行緒無法更改ui介面,因此需要引入hnndler**器。實現get/post提交基本步驟就是,獲取url路徑,根據路徑得到http連線,用httpurlconnection物件設定相關的http配置資訊、提交方式以及獲取反饋碼。當響應碼為200時表示提交成功,可以通過httpurlconnection以流的形式獲取反饋資訊。

普通grt提交方式:

public void load(view view)

final string path = "" + qq

+ "&pwd=" + pwd;

new thread() else

} catch (exception e)

}}.start();

}

普通post提交方式:

public void load(view view)

final string path = "";

new thread() else

} catch (exception e)

}}.start();

}

用httpclien實現get/post提交的只需要一下幾個步驟:

1.建立httpclient物件,實現開啟瀏覽器的功能

2.輸入位址或者資料 ,用到httpget()或httppost(),傳入要訪問的路徑,得到httpget或httppost物件。

3.把獲得的httpget或httppost物件傳送到伺服器,實現敲回車的功能,得到httpresponse物件。

4.得到httpresponse物件獲取狀態行中的狀態碼,判斷狀態碼狀態碼。

int code = response.getstatusline().getstatuscode();

5.同樣用httpresponse物件獲取相應內容,存入流物件。最後將得到的流物件轉為字串進行顯示。

inputstream is = response.getentity().getcontent();

其中要注意的一點是用post請求時要傳遞值所以要多出乙個步驟。具體而言,先建立乙個list集合,集合的泛型用namevaluepair表示,類似於鍵值對的形式儲存要傳遞的資料。接著向集合中新增要提交資料。最後用httppost物件把集合存入請求體中。

用httpclient實現get提交:

public void load(view view)

final string path = "" + qq

+ "&pwd=" + pwd;

new thread() else

} catch (exception e)

}}.start();

}

用httpclient實現post提交:

public void load(view view)

final string path = "";

new thread() else

} catch (exception e)

}}.start();

}

使用開源框架實現get/post提交:利用框架實現get/post提交不需要再開啟子執行緒。直接在主線程進行get/post的提交,大大的減少了工作量。但操作前需要導包。然後直接建立乙個asynchttpclient物件,用asynchttpclient物件的post方法和get方法,傳送請求,並在asynchttpresponsehandler()物件中獲得相應資訊。同樣若是post請求,仍舊需要傳遞值。這裡可以用requestparams物件新增要傳遞的值。

在檔案下新增jar包:

用開源框架實現get提交:

用開源框架實現post請求:

通過以上任何一種方式可以實現的功能是,從安卓手機端提交資料到伺服器端,伺服器端進行判斷,並返回相應的結果。三種方式各有利弊,實現效果相同,在實際的使用過程中可以根據本身的需要進行選擇。

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支援指令碼之家!

HTTP Request中的post和get區別

1 get是從伺服器上獲取資料,post是向伺服器傳送資料。2 在客戶端,get是把引數資料佇列加到提交表單的action屬性所指的url中,值和表單內各個字段一一對應,在url中可以看到。post是通過http post機制,將表單 內各個字段與其內容放置在html header內一起傳送到act...

HTTP Request中的post和get區別

get和post之間的主要區別 1 get是從伺服器上獲取資料,post是向伺服器傳送資料。2 在客戶端,get是把引數資料佇列加到提交表單的action屬性所指的url中,值和表單內各個字段一一對應,在url中可以看到。post是通過http post機制,將表單內各個字段與其內容放置在html ...

GE與POST方法區別

get方法一般用於查詢並獲取資訊,這意味著它是冪等的 對同乙個url的多個請求,返回結果完全一樣 因為沒有修改資源狀態,所以它是安全的。而post一般用於更新資源資訊,既不是冪等,也不是安全的。get方法請求的資料會被瀏覽器快取下來,會留下歷史記錄。而post方法提交的資料不會被瀏覽器快取下來,不會...