一、使用HttpURLConnection
首先需要获取到HttpURLConnection的实例,一般只需要new出一个URL对象,并传入目标的网络地址,然后调用一下openConnection()方法即可,如下所示:
URL url = new URL("http://www.baidu.com");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
在得到HttpURLConnection实例后,可以设置HTTP请求所使用的方法。常用的方法主要有两个:GET和POST。GET表示希望从服务器获取数据,POST表示希望提交数据给服务器。写法如下:
connection.setRequestMethod("GET");
接下来可以进行一些自由地定制,比如设置连接超时、读取超时的毫秒数,以及服务器希望得到的一些消息头。这部分可以根据自己的实际情况进行编写,示例写法如下:
connection.setConnectTimeout(8000);
connection.setReadTimeout(8000);
之后再调用getInputStream()方法就可以获取到服务器返回的输入流了,剩下的任务就是对输入流进行读取,如下所示:
InputStream in = connection.getInputStream();
最后调用disconnect()方法将这个HTTP连接关闭掉,如下所示:
connection.disconnect();
下面通过一个具体的例子来体验一下HttpURLConnection的用法,首先编辑activity_main中的代码,如下所示:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:id="@+id/send_r