方式一:HttpPost(import org.apache.http.client.methods.HttpPost)

java代码:


  1. private Button button1, button2, button3;
  2. private TextView textView1;


  3. button1.setOnClickListener(new Button.OnClickListener() {


  4. @Override

  5. public void onClick(View arg0) {
  6. // TODO Auto-generated method stub
  7. // URLַ
  8. // String uriAPI =
  9. // "http://www.dubblogs.cc:8751/Android/Test/API/Post/index.php";
  10. String uriAPI = ;


  11. /* 建立HTTP Post连线 */
  12. HttpPost httpRequest = new HttpPost(uriAPI);
  13. // Post运作传送变数必须用NameValuePair[]阵列储存
  14. // 传参数 服务端获取的方法为request.getParameter("name")
  15. List<NameValuePair> params = new ArrayList<NameValuePair>();
  16. params.add(new BasicNameValuePair("name", "this is post"));
  17. try {


  18. // 发出HTTP request
  19. httpRequest.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
  20. // 取得HTTP response
  21. HttpResponse httpResponse = new DefaultHttpClient().execute(httpRequest);


  22. // 若状态码为200 ok
  23. if (httpResponse.getStatusLine().getStatusCode() == 200) {
  24. // 取出回应字串
  25. String strResult = EntityUtils.toString(httpResponse.getEntity());
  26. textView1.setText(strResult);
  27. } else {
  28. textView1.setText("Error Response" + httpResponse.getStatusLine().toString());
  29. }
  30. } catch (ClientProtocolException e) {
  31. textView1.setText(e.getMessage().toString());
  32. e.printStackTrace();
  33. } catch (UnsupportedEncodingException e) {
  34. textView1.setText(e.getMessage().toString());
  35. e.printStackTrace();
  36. } catch (IOException e) {
  37. textView1.setText(e.getMessage().toString());
  38. e.printStackTrace();
  39. }
  40. }

  41. });
复制代码


方式二:HttpURLConnection、URL(import java.net.HttpURLConnection;import java.net.URL;import java.net.URLEncoder;)

java代码:


  1. private void httpUrlConnection() {
  2. try {
  3. String pathUrl = "http://172.20.0.206:8082/TestServelt/login.do";
  4. // 建立连接
  5. URL url = new URL(pathUrl);
  6. HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();


  7. // //设置连接属性
  8. httpConn.setDoOutput(true);// 使用 URL 连接进行输出
  9. httpConn.setDoInput(true);// 使用 URL 连接进行输入
  10. httpConn.setUseCaches(false);// 忽略缓存
  11. httpConn.setRequestMethod("POST");// 设置URL请求方法
  12. String requestString = "客服端要以以流方式发送到服务端的数据...";


  13. // 设置请求属性
  14. // 获得数据字节数据,请求数据流的编码,必须和下面服务器端处理请求流的编码一致
  15. byte[] requestStringBytes = requestString.getBytes(ENCODING_UTF_8);
  16. httpConn.setRequestProperty("Content-length", "" + requestStringBytes.length);
  17. httpConn.setRequestProperty("Content-Type", "application/octet-stream");
  18. httpConn.setRequestProperty("Connection", "Keep-Alive");// 维持长连接
  19. httpConn.setRequestProperty("Charset", "UTF-8");
  20. //
  21. String name = URLEncoder.encode("黄武艺", "utf-8");
  22. httpConn.setRequestProperty("NAME", name);


  23. // 建立输出流,并写入数据
  24. OutputStream outputStream = httpConn.getOutputStream();
  25. outputStream.write(requestStringBytes);
  26. outputStream.close();
  27. // 获得响应状态
  28. int responseCode = httpConn.getResponseCode();


  29. if (HttpURLConnection.HTTP_OK == responseCode) {// 连接成功
  30. // 当正确响应时处理数据
  31. StringBuffer sb = new StringBuffer();
  32. String readLine;
  33. BufferedReader responseReader;
  34. // 处理响应流,必须与服务器响应流输出的编码一致
  35. responseReader = new BufferedReader(new InputStreamReader(httpConn.getInputStream(), ENCODING_UTF_8));
  36. while ((readLine = responseReader.readLine()) != null) {
  37. sb.append(readLine).append("\n");
  38. }
  39. responseReader.close();
  40. tv.setText(sb.toString());
  41. }
  42. } catch (Exception ex) {
  43. ex.printStackTrace();
  44. }


  45. }
复制代码

更多相关文章

  1. Android使用HttpURLConnection提交数据
  2. Android 在桌面创建一个快捷方式
  3. Android 代码中实现返回键功能
  4. Android的jni下c与java数据互传测试代码
  5. android设置图片变化的四种效果代码

随机推荐

  1. android shape阴影效果
  2. Android启动流程
  3. 修改android wifi热点默认网关
  4. android布局属性详解
  5. Failed to sync vcpu reg
  6. android 数据库 备份还原
  7. android自带的drawable图标ico名称对应表
  8. Cocos2d-3.x Android环境搭建
  9. Android(安卓)RelativeLayout 实现顶部左
  10. 2013.05.16——— android 关于listview