URLConnection和HttpURLConnection使用的都是java.net中的类,属于标准的java接口。
HttpURLConnection继承自URLConnection,差别在与HttpURLConnection仅仅针对Http连接。
基本步骤:
1) 创建 URL 以及 URLConnection / HttpURLConnection 对象
2) 设置连接参数
3) 连接到服务器
4) 向服务器写数据
5)从服务器读取数据
public void urlConnection()
{
String urltext = "";
try {
// 方法一:
URL url = new URL(urltext);
URLConnection conn = url.openConnection();//取得一个新的链接对指定的URL
conn.connect();//本方法不会自动重连
InputStream is = conn.getInputStream();
is.close();//关闭InputStream
// 方法二:
URL url2 = new URL(urltext);
InputStream is2 = url2.openStream();
is2.close();//关闭InputStream
//URL对象也提供取得InputStream的方法。URL.openStream()会打开自动链接,所以不需要运行openConnection
//方法三:本方法同一,但是openConnection返回值直接转为HttpsURLConnection,
//这样可以使用一些Http连接特有的方法,如setRequestMethod
URL url3 = new URL(urltext);
HttpsURLConnection conn3 =(HttpsURLConnection)url.openConnection();
conn3.setRequestMethod("POST");
//允许Input、Output,不使用Cache
conn3.setDoInput(true);
conn3.setDoOutput(true);
conn3.setUseCaches(false);
/*
* setRequestProperty
*/
conn3.setRequestProperty("Connection", "Keep-Alive");
conn3.setRequestProperty("Charset", "UTF-8");
conn3.setRequestProperty("Content-type", "multipart/form-data;boundary=*****");
//在与服务器连接之前,设置一些网络参数
conn3.setConnectTimeout(10000);
conn3.connect();
// 与服务器交互:向服务器端写数据,这里可以上传文件等多个操作
OutputStream outStream = conn3.getOutputStream();
ObjectOutputStream objOutput = new ObjectOutputStream(outStream);
objOutput.writeObject(new String("this is a string…"));
objOutput.flush();
// 处理数据, 取得响应内容
InputStream is3 = conn.getInputStream();
is3.close();//关闭InputStream
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}