zoukankan      html  css  js  c++  java
  • HttpComponents 也就是以前的httpclient项目

    HttpComponents 也就是以前的httpclient项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端/服务器编程工具包,并且它支持 HTTP 协议最新的版本和建议。不过现在的 HttpComponents 包含多个子项目,有:

    • HttpComponents Core

    • HttpComponents Client
    • HttpComponents AsyncClient
    • Commons HttpClient

    以下列出的是 HttpClient 提供的主要的功能,要知道更多详细的功能可以参见 HttpClient 的主页。

    • 实现了所有 HTTP 的方法(GET,POST,PUT,HEAD 等)

    • 支持自动转向

    • 支持 HTTPS 协议

    • 支持代理服务器等

    • 支持Cookie

    HttpClient 示例代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    DefaultHttpClient httpclient = new DefaultHttpClient();
    try {
        HttpGet httpget = new HttpGet("https://portal.sun.com/portal/dt");
     
        HttpResponse response = httpclient.execute(httpget);
        HttpEntity entity = response.getEntity();
     
        System.out.println("Login form get: " + response.getStatusLine());
        EntityUtils.consume(entity);
     
        System.out.println("Initial set of cookies:");
        List<Cookie> cookies = httpclient.getCookieStore().getCookies();
        if (cookies.isEmpty()) {
            System.out.println("None");
        else {
            for (int i = 0; i < cookies.size(); i++) {
                System.out.println("- " + cookies.get(i).toString());
            }
        }
     
        HttpPost httpost = new HttpPost("https://portal.sun.com/amserver/UI/Login?" +
                "org=self_registered_users&" +
                "goto=/portal/dt&" +
                "gotoOnFail=/portal/dt?error=true");
     
        List <NameValuePair> nvps = new ArrayList <NameValuePair>();
        nvps.add(new BasicNameValuePair("IDToken1""username"));
        nvps.add(new BasicNameValuePair("IDToken2""password"));
     
        httpost.setEntity(new UrlEncodedFormEntity(nvps, Consts.UTF_8));
     
        response = httpclient.execute(httpost);
        entity = response.getEntity();
     
        System.out.println("Login form get: " + response.getStatusLine());
        EntityUtils.consume(entity);
     
        System.out.println("Post logon cookies:");
        cookies = httpclient.getCookieStore().getCookies();
        if (cookies.isEmpty()) {
            System.out.println("None");
        else {
            for (int i = 0; i < cookies.size(); i++) {
                System.out.println("- " + cookies.get(i).toString());
            }
        }
     
    finally {
        // When HttpClient instance is no longer needed,
        // shut down the connection manager to ensure
        // immediate deallocation of all system resources
        httpclient.getConnectionManager().shutdown();
    }
  • 相关阅读:
    003-代码补全,运行,调试
    002-创建基本项目-新项目、空项目、已有项目
    001-使用idea开发环境安装部署,npm工具栏,脚本运行
    0601-Zuul构建API Gateway-API gateway简介、基础使用、路由配置、负载配置
    005-TCP传输控制协议
    0505-Hystrix保护应用-Turbine集群状态监控
    0504-Hystrix保护应用-Hystrix Dashboard的使用与常见问题总结
    0503-Hystrix保护应用-feign的hystrix支持
    004-java类保存优化
    0502-Hystrix保护应用-简介,使用,健康指标等
  • 原文地址:https://www.cnblogs.com/timssd/p/4719828.html
Copyright © 2011-2022 走看看