使用AsyncHttpClient 實現get和post請求
AsyncHttpClient簡介:
AsyncHttpClient庫 基於Apache的HttpClient框架,是一個非同步的httpClient, 所有的http請求都在子執行緒中,但是callback執行的執行緒和建立這個callback的執行緒是同一個(也即主執行緒建立的callback那麼執行的時候也是在主執行緒中)。
實現get和post請求:
使用AsyncHttpClient實現網路圖片的讀取:public class MainActivity extends Activity { private EditText usernameET; private EditText passwordET; private AsyncHttpClient client; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); usernameET = (EditText) this.findViewById(R.id.UsernamET); passwordET = (EditText) this.findViewById(R.id.PaswordET); client = new AsyncHttpClient(); } public void get(View v) throws Exception{ String username = usernameET.getText().toString().trim(); String password = passwordET.getText().toString().trim(); String path = ""; String params = "username=" + URLEncoder.encode(username, "UTF-8") + "&password="+ URLEncoder.encode(password, "UTF-8"); client.get(path+"?"+params, new AsyncHttpResponseHandler() { @Override public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) { // TODO Auto-generated method stub Toast.makeText(getApplicationContext(), "登陸成功", Toast.LENGTH_SHORT) .show(); } @Override public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) { // TODO Auto-generated method stub Toast.makeText(getApplicationContext(), "登陸失敗", Toast.LENGTH_SHORT) .show(); } }); } public void post(View v){ String username = usernameET.getText().toString().trim(); String password = passwordET.getText().toString().trim(); String path = ""; RequestParams params = new RequestParams(); params.put("username", username); params.put("password", password); client.post(path, params, new AsyncHttpResponseHandler() { @Override public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) { // TODO Auto-generated method stub Toast.makeText(getApplicationContext(), "登陸成功", Toast.LENGTH_SHORT) .show(); } @Override public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) { // TODO Auto-generated method stub Toast.makeText(getApplicationContext(), "登陸失敗", Toast.LENGTH_SHORT) .show(); } }); } }
public void onClick(View v){ String path = pathText.getText().toString().trim(); client.get(path, new AsyncHttpResponseHandler() { @Override public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) { // TODO Auto-generated method stub Bitmap image = BitmapFactory.decodeByteArray(responseBody, 0, responseBody.length); Image.setImageBitmap(image); Toast.makeText(getApplicationContext(), "獲取成功", Toast.LENGTH_SHORT) .show(); } @Override public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) { // TODO Auto-generated method stub Toast.makeText(getApplicationContext(), "獲取失敗", Toast.LENGTH_SHORT) .show(); } }); }
當然,這個是最基礎的用法了,之後會有關於AsyncHttpClient的上傳和下載等用法
相關推薦
使用AsyncHttpClient 實現get和post請求
AsyncHttpClient簡介: AsyncHttpClient庫 基於Apache的HttpClient框架,是一個非同步的httpClient, 所有的http請求都在子執行緒中,但是callback執行的執行緒和建立這個callback的執行緒是同一個(也即主執
PHP中使用CURL實現GET和POST請求
由於 protocol 對稱加密 即使 匯報 bst 接口 useragent 拷貝 一、什麽是CURL? cURL 是一個利用URL語法規定來傳輸文件和數據的工具,支持很多協議,如HTTP、FTP、TELNET等。最爽的是,PHP也支持 cURL 庫。使用php的cURL
利用Java實現GET和POST請求
三個類 Java建立代理連線物件 Java傳送Post請求 Java傳送Get請求 程式碼 Java建立代理連線物件 /** * 1.返回代理物件 * @param proxyIp * @param
PHP中使用cURL實現Get和Post請求的方法
data print str close arr 設置 高級特性 post數據 decode cURL 是一個利用URL語法規定來傳輸文件和數據的工具,支持很多協議,如HTTP、FTP、TELNET等。最爽的是,PHP也支持 cURL 庫。本文將介紹 cURL 的一些高級特
PHP中使用CURL實現GET和POST請求(詳細)
一、什麼是CURL? cURL 是一個利用URL語法規定來傳輸檔案和資料的工具,支援很多協議,如HTTP、FTP、TELNET等。最爽的是,PHP也支援 cURL 庫。使用PHP的cURL庫可以簡單和有效地去抓網頁。你只需要執行一個指令碼,然後分析一下你所抓取的網頁,然
CURL實現發送Get和Post請求(PHP)
結果 基本 釋放 初始 常用 header 理解 介紹 今天 1.cURL介紹 cURL 是一個利用URL語法規定來傳輸文件和數據的工具,支持很多協議,如HTTP、FTP、TELNET等。最爽的是,PHP也支持 cURL 庫。本文將介紹 cURL 的一些高級特性,以及
PHP中使用CURL實現模擬GET和POST請求,親測完美解決
//初始化 $curl = curl_init(); //設定抓取的url curl_setopt($curl, CURLOPT_URL, 'http://www.baidu.com'); //設定標頭檔案的資訊作為資料流輸出 curl_setopt($cur
使用CURL實現GET和POST方式請求
CURL請求,支援GET和POST兩種方式,預設為GET方式,如果傳第二個引數則為POST方式請求,設定了超時時間,避免程式卡死。 function getPost($url,$vars = ''){ $ch = curl_init();
C++:C語言實現HTTP的GET和POST請求例程參考 C++:C語言實現HTTP的GET和POST請求
C++:C語言實現HTTP的GET和POST請求 閱讀目錄 HTTP請求和IP/TCP 實現GET請求 實現POST請求: 參考: 回到頂部
用Java實現傳送http的get和post請求
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.URL; import java.net.URLConnection; imp
策略模式實現 retrofit 的get和post請求的公共引數(一)
策略模式的作用,作用是替換if,elst if ,switch case,可是為什麼我就替換不了呢? 比如: 圖書價格,初級會員9折,高階會員打8折 通常實現: private double getPrice(int grade, doubl
Java實現傳送Get和Post請求
前言 已經有幾天沒有寫部落格了 , 原因是最近生活中有大量的事情, 儘管每天都在學習 , 但是卻沒有將知識點記錄在部落格中 , 感覺這樣非常不好 . 以後一定要堅持寫部落格 , 記錄自己
策略模式(註解版)實現 retrofit 的get和post請求的公共引數(二)
(想用純策略模式來完全解決 if else if switch case這種需求,是做不到的,或許策略模式根本不能這麼用,最近看到一個開源框架,作者使用策略模式+介面卡模式完美結合,前提是在使用之前要在Application中選擇自己的介面卡,如果兩個介面卡
JAVA的GET和POST請求實現方式
一、介紹使用Java實現GET和POST請求的方法常用的有兩種:HTTPClient和HttpURLConnection。前者是第三方開源框架實現,對HTTP請求的封裝很好,使用HTTPClient基本可以滿足工作需要,其中HTTPClient3.1是org.apache.c
發送get和post請求時常用的content-type
encode json數據格式 ima for www 下載 orm 文件上傳 服務器 常見的媒體格式類型如下: text/html : HTML格式 text/plain :純文本格式 text/xml : XML格式
HttpClient GET和POST請求
pri execute public methods gre col esp odt stringbu package com.rogue.hclient; import java.io.BufferedReader; import java.io.IOExceptio
http基本get和post請求
read exce pen timeout etc builder pri void tin get請求: private static void httpGet(){ BufferedReader br = null; HttpU
GET和POST請求的區別
cat nal 賬號 span asc 交互 cap 開發 code GET和POST請求的區別 GET請求GET /books/?sex=man&name=Professional HTTP/1.1Host: www.wrox.comUser-Agent: Mo
python request 接口測試get和post請求
.post .get access username int 用戶 post請求 運行 開發 開發IDE:pycharm python:2.7.10 get請求 # coding: UTF-8 #兼容中文字符,如果沒有這句,程序中有中文字符時,運行會報錯import
小程序的get和post請求頭的區別
type www 成功 ava form brush quest -type function 小程序在使用wx.request()接口 時 header 請求頭默認是這樣的 wx.request({ url: ‘test.php‘, //僅為示例,並非真實的接口