HTTP GET 请求

HTTP GET 请求

HTTP 请求方法:
    1、OPTIONS - 返回服务器针对特定资源所支持的HTTP请求方法。
    2、HEAD - 请求页面的首部。 
    3、GET - 从指定的资源请求数据。
    4、POST - 向指定的资源提交要被处理的数据
    5、PUT - 从客户端向服务器传送的数据取代指定的文档的内容。
    6、DELETE - 请求服务器删除指定的页面。 
    8、CONNECT - HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
    8、TRACE - 请求服务器在响应中的实体主体部分返回所得到的内容。 

在客户机和服务器之间进行请求 响应时,两种最常被用到的方法是:GET 和 POST。

public class HttpGetRequest {
    /**
     * 向指定 URL 发送 GET 方法的请求
     * 
     * @return URL 所代表远程资源的响应结果
     */
    public static String sendGet(String url) {
        String result = "";
        BufferedReader bufferedReader = null;
        try {
            String urlNameString = url + "?";
            // 创建一个url
            URL realUrl = new URL(urlNameString);
            // 打开和URL之间的连接
            URLConnection connection = realUrl.openConnection();
            // 设置请求属性
            connection.setRequestProperty("accept", "*/*");
            connection.setRequestProperty("connection", "Keep-Alive");
            connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");

            // 建立连接
            connection.connect();
            // 获取所有响应头字段
            Map<String, List<String>> map = connection.getHeaderFields();
            // 遍历所有的响应头字段( key 对应 map 里的键)
            for (String key : map.keySet()) {
                // 获取每个 key 的值
                System.out.println(key + "-------" + map.get(key));
            }
            // 定义 BufferedReader 输入流读取URL的响应
            bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String line;
            // 循环读取,每次读取一行,
            while ((line = bufferedReader.readLine()) != null) {
                // 把读取的数据 赋值给 result,
                result += line;
            }
        } catch (Exception e) {
            System.out.println("******GET请求出现异常******" + e);
            e.printStackTrace();
        }
        // 关闭输入流
        finally {
            try {
                if (bufferedReader != null) {
                    bufferedReader.close();
                }
            } catch (Exception e2) {
                e2.printStackTrace();
            }
        }
        return result;
    }

    public static void main(String[] args) {
        String getRequset = HttpGetRequest.sendGet("https://github.com/");
        System.out.println(getRequset);
    }

}
常见的 HTTP 状态码:
    200 - 请求成功
    301 - 资源(网页等)被永久转移到其它 URL
    404 - 请求的资源(网页等)不存在
    500 - 内部服务器错误
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值