HTTP编程
Java HTTP编程
- 支持模拟成浏览器的方式去访问网页
- URL, Uniform Resource Locator,代表一个资源
- URLConnection
- 获取资源连接器
- 根据URL的openConnection()方法获得URLConnection
- connect方法,建立和资源的联系通道
- getInputStream方法,获取资源的内容
示例代码:
Get获取网页html
package com.lihuan.network.demo03;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.Map;
public class URLConnectionGetTest {
public static void main(String[] args) {
try {
String urlName = "http://www.baidu.com";
URL url = new URL(urlName);
URLConnection connection = url.openConnection();
//建立联系通道
connection.connect();
//打印http的头部信息
Map<String, List<String>> headers = connection.getHeaderFields();
for (Map.Entry<String, List<String>> entry : headers.entrySet()){
String key = entry.getKey();
for (String value : entry.getValue()){
System.out.println(key + ":" + value);
}
}
//输出将要收到的内容属性信息
System.out.println("-------------");
System.out.println("getContentType: " + connection.getContentType());
System.out.println("getContentLength: " + connection.getContentLength());
System.out.println("getContentEncoding: " + connection.getContentEncoding());
System.out.println("getDate: " + connection.getDate());
System.out.println("getExpiration: " + connection.getExpiration());
System.out.println("getLastModified:" + connection.getLastModified());
System.out.println("-------------");
BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8));
// 输出收到的内容
String line = "";
while ((line = br.readLine()) != null){
System.out.println(line);
}
br.close