Android Studio访问Http资源之HttpURLConnection的案例(GET方式)

默认已经有服务器(自己本地搭建的或远程的),没有的可以拿个免费接口先来用用,随便一搜就有的。

这里使用的url是http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=手机号

xml文件就不放了,只有Button。

public class MainActivity extends AppCompatActivity {

    private Button btn1;
    

    private String urlAddressFront = "http://tcc.taobao.com";
    private String urlAddressMethod = "/cc/json/mobile_tel_segment.htm";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btn1 = (Button) findViewById(R.id.btn_get);

        btn1.setOnClickListener(new View.OnClickListener() {
    	    @Override
    	    public void onClick(View v) {
                doGet("168********");   //手机号
    	    }
	});

    }

    //doGet请求
    private void doGet(String s) {
        final String urlAddress = urlAddressFront + urlAddressMethod + "?tel=" + s ;     //拼接出完整的url

        new Thread(new Runnable() {             //开启一个异步线程,AS在3.0后不允许在主线程中访问网络
            @Override
            public void run() {
                try {
                    URL url = new URL(urlAddress);              //URL对象
                    HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();     //生成HttpURLConnection对象
                    httpURLConnection.connect();            //连接服务器

                    //服务器响应
                    if (httpURLConnection.getResponseCode() == 200){        //服务器响应码
                        InputStream inputStream = httpURLConnection.getInputStream();       //输入流
                        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));     //BufferedReader构造方法
                        StringBuffer stringBuffer = new StringBuffer();     //用来存储读的结果
                        String readLine = "";       //存储每行的结果
                        while ((readLine = bufferedReader.readLine()) != null){     //按行读取,每行读到的字符串放到readLine中
                            stringBuffer.append(readLine);
                            inputStream.close();
                            bufferedReader.close();
                            httpURLConnection.disconnect();
                            Log.d("TAG",stringBuffer.toString());
                        }
                    }else {
                        Log.d("TAG","failed");
                    }
                } catch (MalformedURLException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }).start();

    }
}
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,我可以帮您回答这个问题。 首先,我们需要明确一下 HttpUrlConnectionHttpURLConnection 的区别。HttpUrlConnection 是一个用于创建 Http 连接的类,而 HttpURLConnection 则是 HttpUrlConnection 的一个子类,用于创建 Http 连接并发送请求。我们在这里使用 HttpURLConnection 来发送请求。 1. 注册 发送注册请求的代码如下所示: ```java try { URL url = new URL("http://your-register-url.com"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.setDoInput(true); conn.setDoOutput(true); // 设置请求参数 String params = "username=" + username + "&password=" + password; OutputStream outputStream = conn.getOutputStream(); outputStream.write(params.getBytes()); outputStream.flush(); outputStream.close(); // 发送请求 int responseCode = conn.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { // 注册成功 } else { // 注册失败 } } catch (Exception e) { e.printStackTrace(); } ``` 其中,我们需要将注册时填写的用户名和密码拼接成一个参数字符串,使用 OutputStream 将其写入请求中。 2. 登录 发送登录请求的代码如下所示: ```java try { URL url = new URL("http://your-login-url.com"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.setDoInput(true); conn.setDoOutput(true); // 设置请求参数 String params = "username=" + username + "&password=" + password; OutputStream outputStream = conn.getOutputStream(); outputStream.write(params.getBytes()); outputStream.flush(); outputStream.close(); // 发送请求 int responseCode = conn.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { // 登录成功 } else { // 登录失败 } } catch (Exception e) { e.printStackTrace(); } ``` 与注册类似,我们同样需要将用户名和密码拼接成参数字符串,并将其写入请求中。请求发送成功后,我们可以通过获取返回的 responseCode 来判断登录是否成功。 以上就是利用 HttpUrlConnection 发送 GET 请求实现注册登录的方法,希望能对您有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kpacnB_Z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值