1 package net.blogjava.mobile; 2 3 import java.net.HttpURLConnection; 4 import java.util.ArrayList; 5 import java.util.List; 6 7 import org.apache.http.HttpResponse; 8 import org.apache.http.NameValuePair; 9 import org.apache.http.client.entity.UrlEncodedFormEntity;10 import org.apache.http.client.methods.HttpGet;11 import org.apache.http.client.methods.HttpPost;12 import org.apache.http.impl.client.DefaultHttpClient;13 import org.apache.http.message.BasicNameValuePair;14 import org.apache.http.protocol.HTTP;15 import org.apache.http.util.EntityUtils;16 17 import android.app.Activity;18 import android.os.Bundle;19 import android.view.View;20 import android.view.View.OnClickListener;21 import android.widget.Button;22 import android.widget.EditText;23 import android.widget.TextView;24 25 public class Main extends Activity implements OnClickListener26 {27 28 @Override29 public void onClick(View view)30 {31 String url = "http://169.254.103.188/querybooks/QueryServlet";32 TextView tvQueryResult = (TextView) findViewById(R.id.tvQueryResult);33 EditText etBookName = (EditText) findViewById(R.id.etBookName);34 HttpResponse httpResponse = null;35 try36 {37 38 switch (view.getId())39 {40 case R.id.btnGetQuery:41 url += "?bookname=" + etBookName.getText().toString();42 HttpGet httpGet = new HttpGet(url);43 httpResponse = new DefaultHttpClient().execute(httpGet);44 if (httpResponse.getStatusLine().getStatusCode() == 200)45 {46 47 String result = EntityUtils.toString(httpResponse.getEntity(), HTTP.UTF_8);48 tvQueryResult.setText(result);49 System.out.println(result);50 }51 break;52 53 case R.id.btnPostQuery:54 HttpPost httpPost = new HttpPost(url);55 Listparams = new ArrayList ();56 params.add(new BasicNameValuePair("bookname", etBookName57 .getText().toString()));58 httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));59 60 httpResponse = new DefaultHttpClient().execute(httpPost);61 if (httpResponse.getStatusLine().getStatusCode() == 200)62 {63 String result = EntityUtils.toString(httpResponse64 .getEntity());65 tvQueryResult.setText(result.replaceAll("\r", ""));66 }67 break;68 }69 }70 catch (Exception e)71 {72 tvQueryResult.setText(e.getMessage());73 }74 75 }76 77 @Override78 public void onCreate(Bundle savedInstanceState)79 {80 super.onCreate(savedInstanceState);81 setContentView(R.layout.main);82 Button btnGetQuery = (Button) findViewById(R.id.btnGetQuery);83 Button btnPostQuery = (Button) findViewById(R.id.btnPostQuery);84 btnGetQuery.setOnClickListener(this);85 btnPostQuery.setOnClickListener(this);86 87 }88 }
上传文件时,可以使用HttpAnalyzer来捕获HTTP请求信息:上传文档新建文本文档 (3).txt过程:
Request Headers Value(Request-Line) POST /upload/UploadServlet HTTP/1.1Accept text/html, application/xhtml+xml, */*Referer http://localhost/upload/upload.jspAccept-Language zh-CNUser-Agent Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)Content-Type multipart/form-data; boundary=---------------------------7dea05100618Accept-Encoding gzip, deflateHost localhostContent-Length 239DNT 1Connection Keep-AliveCache-Control no-cacheCookie JSESSIONID=C55149A1C7C5EEFE0A67D4DA2183E8BF
Response Headers Value(Status-Line) HTTP/1.1 200 OKServer Apache-Coyote/1.1Content-Type text/html;charset=UTF-8Content-Length 21Date Sun, 14 Dec 2014 07:00:05 GMT
744 bytes sent to :0
POST /upload/UploadServlet HTTP/1.1Accept: text/html, application/xhtml+xml, */*Referer: http://localhost/upload/upload.jspAccept-Language: zh-CNUser-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)Content-Type: multipart/form-data; boundary=---------------------------7dea05100618Accept-Encoding: gzip, deflateHost: localhostContent-Length: 239DNT: 1Connection: Keep-AliveCache-Control: no-cacheCookie: JSESSIONID=C55149A1C7C5EEFE0A67D4DA2183E8BF-----------------------------7dea05100618Content-Disposition: form-data; name="file"; filename="C:\Users\Administrator\Desktop\鏂板缓鏂囨湰鏂囨。 (3).txt"Content-Type: text/plain123abc-----------------------------7dea05100618--
163 bytes received by :0
HTTP/1.1 200 OKServer: Apache-Coyote/1.1Content-Type: text/html;charset=UTF-8Content-Length: 21Date: Sun, 14 Dec 2014 07:00:05 GMT鏂囦欢涓婁紶鎴愬姛!