pro android学习笔记,Pro Android学习笔记(六八):HTTP服务(2):HTTP POST-Go语言中文社区...
BufferedReader in = null;
try{
//【Step 1】創(chuàng)建一個(gè)HttpClient的對(duì)象(或使用已有的)
HttpClient client = new DefaultHttpClient();
//【Step 2】實(shí)例化一個(gè)HTTP GET或者HTTP POST,本例是HTTP POST
HttpPost request = new HttpPost("http://epub.cnki.net/kns/brief/default_result.aspx");
//【Step 3】設(shè)置HTTP參數(shù),本例根據(jù)抓包的內(nèi)容填寫,這是體力活,在完整HTTP服務(wù)的筆記后,會(huì)提供小例子下載。對(duì)于HTTP Post,需要傳遞鍵值對(duì)信息,從上面的轉(zhuǎn)包可以看到,這部分不是作為request URI,而是作為HTML Form URL Encoded,為此我們需要用戶元素為NameValuePair格式的list來存儲(chǔ)這些信息,并封裝在UrlEncodedFormEntiry對(duì)象中。通過setEntity()加入到請(qǐng)求對(duì)象中。??? List postParameters = new ArrayList();
postParameters.add(new BasicNameValuePair("txt_1_sel","TI$%=|"));
postParameters.add(new BasicNameValuePair("txt_1_value1","Android"));
… …
postParameters.add(new BasicNameValuePair("ua","1.11"));
UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(postParameters);
request.setEntity(formEntity);
//【Step 4】通過HttpClient來執(zhí)行HTTP call(發(fā)出HTTP請(qǐng)求)
HttpResponse response =client.execute(request);
//【Step 5】處理HTTP響應(yīng),本例將整個(gè)響應(yīng)的內(nèi)容(HTTP 200消息的body)都在String中。in = new BufferedReader(
new InputStreamReader(
response.getEntity().getContent()));
StringBuffer buff = new StringBuffer("");
String line = "";
String NL = System.getProperty("line.separator");
while((line = in.readLine())!= null){
buff.append(line + NL);
}
showInfo(buff.toString());
}catch(Exception e){
e.printStackTrace();
showInfo(e.toString());
}finally{
if(in != null){
try{
showInfo("== process in.colse() ==");
in.close();
}catch(Exception e){
e.printStackTrace();
showInfo(e.toString());
}
}
}
總結(jié)
以上是生活随笔為你收集整理的pro android学习笔记,Pro Android学习笔记(六八):HTTP服务(2):HTTP POST-Go语言中文社区...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 约束布局的坑,andro
- 下一篇: android权限询问,Android: