android HttpURLConnection网络访问

来源:互联网 发布:数据分析职业 编辑:程序博客网 时间:2024/04/30 12:31

HttpURLConnectionGET访问方式

1)创建一个URL对象

URLurl =newURL(urlAddress);

2)利用HttpURLConnection对象从网络中获取网页数据

HttpURLConnectionconn = (HttpURLConnection) url.openConnection();

3)设置GET访问方式

conn.setRequestMethod("GET");

4)设置连接主机超时(单位:毫秒)

conn.setConnectTimeout(6*1000);

5)设置从主机读取数据超时(单位:毫秒)

conn.setReadTimeout(8000);

6)得到网络返回的输入流

InputStreamin = conn.getInputStream();

7)得到输入流数据的缓存对象

BufferedReaderreader = newBufferedReader(newInputStreamReader(in));

8)得到字符串存储的Builder存储对象

StringBuilderresponse = newStringBuilder();

Stringline=null;

9)读取一行数据

while((line = reader.readLine()) != null){

10)将读取的一行数据添加到Builder存储对象中

response.append(line);

}


HttpURLConnectionPOST访问方式

publicstatic byte[] sendPostRequestByForm(String path, String params)throws Exception{

URLurl = new URL(path);

HttpURLConnectionconn = (HttpURLConnection) url.openConnection();

conn.setRequestMethod("POST");//提交模式

//conn.setConnectTimeout(10000);//连接超时单位毫秒

//conn.setReadTimeout(2000);//读取超时单位毫秒

conn.setDoOutput(true);// 使用 URL 连接进行输出

conn.setDoInput(true);// 使用 URL 连接进行输入

conn.setUseCaches(false);// 忽略缓存

byte[]bypes = params.toString().getBytes();

conn.getOutputStream().write(bypes);//输入参数

InputStreaminStream=conn.getInputStream();

returnStreamTool.readInputStream(inStream);

}

0 0