• JDK方式


    layout文件

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     3     xmlns:tools="http://schemas.android.com/tools"
     4     android:layout_width="match_parent"
     5     android:layout_height="match_parent"
     6     android:paddingBottom="@dimen/activity_vertical_margin"
     7     android:paddingLeft="@dimen/activity_horizontal_margin"
     8     android:paddingRight="@dimen/activity_horizontal_margin"
     9     android:paddingTop="@dimen/activity_vertical_margin"
    10     tools:context="com.hanqi.testapp3.TestActivity3"
    11     android:orientation="vertical">
    12 
    13     <LinearLayout
    14         android:layout_width="match_parent"
    15         android:layout_height="wrap_content">
    16     <Button
    17         android:layout_width="0dp"
    18         android:layout_height="wrap_content"
    19         android:text="JDK-Get方式"
    20         android:onClick="bt1_OnClick"
    21         android:layout_weight="1"/>
    22 
    23         <Button
    24             android:layout_width="0dp"
    25             android:layout_height="wrap_content"
    26             android:text="JDK-Post方式"
    27             android:onClick="bt2_OnClick"
    28             android:layout_weight="1"/>
    29     </LinearLayout>
    30 
    31     <EditText
    32         android:layout_width="match_parent"
    33         android:layout_height="200dp"
    34         android:id="@+id/et_2"/>
    35 
    36 </LinearLayout>
    layout

    java代码

      1 package com.hanqi.testapp3;
      2 
      3 import android.app.ProgressDialog;
      4 import android.os.Bundle;
      5 import android.support.v7.app.AppCompatActivity;
      6 import android.view.View;
      7 import android.widget.EditText;
      8 
      9 import java.io.InputStream;
     10 import java.io.OutputStream;
     11 import java.net.HttpURLConnection;
     12 import java.net.URL;
     13 
     14 public class TestActivity3 extends AppCompatActivity {
     15 
     16     EditText et_2;
     17 
     18     @Override
     19     protected void onCreate(Bundle savedInstanceState) {
     20         super.onCreate(savedInstanceState);
     21         setContentView(R.layout.activity_test3);
     22 
     23         et_2 = (EditText)findViewById(R.id.et_2);
     24     }
     25 
     26 
     27     //显示结果
     28     String str = "";
     29 
     30     //JDK的Get方式
     31     public void bt1_OnClick(View v)
     32     {
     33         //1、启动进度对话框
     34         final ProgressDialog pd = ProgressDialog.show(this, null, "请稍后...");
     35 
     36         //2、启动子线程,访问远程服务器
     37         new Thread()
     38         {
     39             @Override
     40             public void run() {
     41 
     42                 //访问远程服务器
     43                 //JDK Get
     44 
     45                 HttpURLConnection huc = null;
     46 
     47                 try {
     48                 //1、构造URL对象
     49                     URL url = new URL("http://192.168.0.105:81/index.asp?name=mike&password=456");
     50 
     51                 //2、得到 HttpURLConnection
     52                     huc = (HttpURLConnection)url.openConnection();
     53 
     54                 //3、设置 HttpURLConnection
     55                     huc.setRequestMethod("GET");
     56                     huc.setConnectTimeout(3000);
     57                     huc.setReadTimeout(3000);
     58 
     59                 //4、连接远程服务器
     60                     huc.connect();
     61 
     62                 //5、接收响应报文的状态码
     63                     int code = huc.getResponseCode();
     64 
     65                     str = "";
     66 
     67                 //6、判断响应状态码是否=200
     68                     if (code == 200)
     69                     {
     70                         //7、处理
     71                         //1 接收数据
     72 
     73                         //2 得到数据流
     74                         InputStream is = huc.getInputStream();
     75 
     76                         //读到的数据
     77                         byte[] b = new byte[1024];
     78 
     79                         //读到的数据长度
     80                         int i = 0;
     81 
     82                         while ((i = is.read(b)) > 0)
     83                         {
     84                             // 接收字符串
     85                             str += new String(b,0,i);
     86                         }
     87 
     88                         is.close();
     89                     }
     90                     else
     91                     {
     92                         str = "响应错误,错误码=" + code;
     93                     }
     94 
     95                     //显示结果,不能直接跨线程访问主线程的视图
     96                     runOnUiThread(new Runnable() {
     97                         @Override
     98                         public void run() {
     99                             et_2.setText(str);
    100 
    101                         }
    102                     });
    103 
    104                 }
    105                 catch (Exception e)
    106                 {
    107                     e.printStackTrace();
    108                 }
    109                 finally {
    110 
    111                     //8、关闭连接和进度对话框
    112                     // 释放资源
    113                     if (huc != null)
    114                     {
    115                         huc.disconnect();
    116                     }
    117 
    118                     // 支持跨线程访问
    119                     pd.dismiss();
    120 
    121                 }
    122             }
    123         }.start();
    124     }
    125 
    126 
    127     //JDK的Post方式
    128     public void bt2_OnClick(View v)
    129     {
    130         //1、启动进度对话框
    131         final ProgressDialog pd = ProgressDialog.show(this, null, "请稍后...");
    132 
    133         //2、启动子线程,访问远程服务器
    134         new Thread()
    135         {
    136             @Override
    137             public void run() {
    138 
    139                 //访问远程服务器
    140                 //JDK Post
    141 
    142                 HttpURLConnection huc = null;
    143 
    144                 try {
    145                     //1、构造URL对象
    146                     URL url = new URL("http://192.168.0.105:81/index.asp");
    147 
    148                     //2、得到 HttpURLConnection
    149                     huc = (HttpURLConnection)url.openConnection();
    150 
    151                     //3、设置 HttpURLConnection
    152                     huc.setRequestMethod("POST");
    153                     huc.setConnectTimeout(3000);
    154                     huc.setReadTimeout(3000);
    155 
    156                     //4、连接远程服务器,输出流
    157                     huc.connect();
    158 
    159                     //数据放到请求体里
    160                     // 1)得到输出流
    161                     OutputStream os = huc.getOutputStream();
    162 
    163                     String outstr = "name=tom&password=123";
    164 
    165                     os.write(outstr.getBytes("UTF-8"));
    166 
    167                     os.close();
    168 
    169                     //5、接收响应报文的状态码
    170                     int code = huc.getResponseCode();
    171 
    172                     str = "";
    173 
    174                     //6、判断响应状态码是否=200
    175                     if (code == 200)
    176                     {
    177                         //7、处理
    178                         //1 接收数据
    179 
    180                         //2 得到数据流,输入流
    181                         InputStream is = huc.getInputStream();
    182 
    183                         //读到的数据
    184                         byte[] b = new byte[1024];
    185 
    186                         //读到的数据长度
    187                         int i = 0;
    188 
    189                         while ((i = is.read(b)) > 0)
    190                         {
    191                             // 接收字符串
    192                             str += new String(b,0,i);
    193                         }
    194 
    195                         is.close();
    196                     }
    197                     else
    198                     {
    199                         str = "响应错误,错误码=" + code;
    200                     }
    201 
    202                     //显示结果,不能直接跨线程访问主线程的视图
    203                     runOnUiThread(new Runnable() {
    204                         @Override
    205                         public void run() {
    206                             et_2.setText(str);
    207 
    208                         }
    209                     });
    210 
    211                 }
    212                 catch (Exception e)
    213                 {
    214                     e.printStackTrace();
    215                 }
    216                 finally {
    217 
    218                     //8、关闭连接和进度对话框
    219                     // 释放资源
    220                     if (huc != null)
    221                     {
    222                         huc.disconnect();
    223                     }
    224 
    225                     // 支持跨线程访问
    226                     pd.dismiss();
    227 
    228                 }
    229             }
    230         }.start();
    231     }
    232 }
    Java代码

    index.asp

     1 <%
     2 name_get = request.querystring("name")
     3 password_get = request.querystring("password")
     4 
     5 name_post = request.form("name")
     6 password_post = request.form("password")
     7 
     8 %>
     9 request:<br>
    10 
    11 name_1=<%=name_get%>
    12 password_1=<%=password_get%>
    13 
    14 name_2=<%=name_post%>
    15 password_2=<%=password_post%>
    index.asp
  • 相关阅读:
    EXCEL某列长度超过255个字符导入SQL SERVER2005的处理方法
    正则同时获取a标签里的href,text 2项
    火柴棍
    特殊数
    骨牌铺方格
    拼图
    挑战题之排列生成
    模拟 找规律
    sort
    贪心 简单背包问题
  • 原文地址:https://www.cnblogs.com/future-zhenzhen/p/5592897.html
Copyright © 2020-2023  润新知