zoukankan      html  css  js  c++  java
  • java+httpclient—— 一个简单的get请求——httpclient发送header——python的flask服务器模拟接收获取

    python服务器:

    from flask import Flask,request,make_response
    
    app = Flask(__name__)
    
    
    @app.route('/')
    def index():
    
        resp = make_response("123456abc")
        resp.headers["city"] = "china"
    
        resp.set_cookie("001a","001b")
        resp.set_cookie("002c","002d",max_age=500)
    
    
        print(request.headers)
        print('-----------------------------------------------------------------')
        print(request.cookies)
        print('+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++')
        return resp
    
    if __name__ == '__main__':
        app.run(debug=True)
    

      

    java发送请求:

    import java.io.IOException;
    import org.apache.http.client.CookieStore;
    import org.apache.http.Header;
    import org.apache.http.HttpEntity;
    import org.apache.http.client.ClientProtocolException;
    import org.apache.http.client.methods.CloseableHttpResponse;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.HttpClients;
    import org.apache.http.util.EntityUtils;
    import org.apache.http.cookie.Cookie;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Map;
    import org.apache.http.HttpResponse;
    import org.apache.http.NameValuePair;
    import org.apache.http.ParseException;
    import org.apache.http.client.ClientProtocolException;
    import org.apache.http.client.CookieStore;
    import org.apache.http.client.entity.UrlEncodedFormEntity;
    import org.apache.http.client.methods.HttpEntityEnclosingRequestBase;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.cookie.Cookie;
    import org.apache.http.impl.client.BasicCookieStore;
    import org.apache.http.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.HttpClients;
    import org.apache.http.message.BasicNameValuePair;
    import org.apache.http.util.EntityUtils;
    
    public class requestceshi
    {
    
        public static void main(String[] args) throws ClientProtocolException, IOException {
    
            CloseableHttpClient client = HttpClients.createDefault();
    
    
            HttpGet httpGet = new HttpGet("http://127.0.0.1:5000/");
    
            httpGet.setHeader("china", "jiangsu");
            httpGet.setHeader("jinagsu", "nanjing");
    
            CloseableHttpResponse Response = client.execute(httpGet);
    
    
            System.out.println(Response.getProtocolVersion());
    
            System.out.println(Response.getStatusLine());
    
            System.out.println(Response.getStatusLine().getStatusCode());
    
            System.out.println(",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,");
    
            System.out.println(Response.getHeaders("csrftoken"));
    
            System.out.println(Response.getFirstHeader("Content-Type"));
            System.out.println(Response.getFirstHeader("Content-Length"));
            System.out.println(Response.getFirstHeader("Server"));
    
            System.out.println("/////////////////////////////////////////////////////////////////");
    
            System.out.println(httpGet.getMethod());
    
            System.out.println(httpGet.getURI());
    
            System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
    
            Header[] headers = Response.getAllHeaders();
            for (Header header : headers)
            {
                System.out.println(header.getName()+":    "+ header.getValue());
            }
    
    
            System.out.println("------------------------------------------------------");
    
    
    
            HttpEntity responseEntity = Response.getEntity();
    
            System.out.println(Response.getStatusLine());
    
            System.out.println(responseEntity.getContentLength());
    
            System.out.println(EntityUtils.toString(responseEntity, "utf-8"));
    
            System.out.println("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
    
    
            Response.close();
    
        }
    }
    

      

    java打印:

    HTTP/1.0
    HTTP/1.0 200 OK
    200
    ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    [Lorg.apache.http.Header;@9629756
    Content-Type: text/html; charset=utf-8
    Content-Length: 9
    Server: Werkzeug/2.0.1 Python/3.9.4
    /////////////////////////////////////////////////////////////////
    GET
    http://127.0.0.1:5000/
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    Content-Type: text/html; charset=utf-8
    Content-Length: 9
    city: china
    Set-Cookie: 001a=001b; Path=/
    Set-Cookie: 002c=002d; Expires=Thu, 29 Jul 2021 14:56:22 GMT; Max-Age=500; Path=/
    Server: Werkzeug/2.0.1 Python/3.9.4
    Date: Thu, 29 Jul 2021 14:48:02 GMT
    ------------------------------------------------------
    HTTP/1.0 200 OK
    9
    123456abc
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    ==========================================================================

    ==========================================================================

    ==========================================================================

    ==========================================================================

    python打印:

    China: jiangsu
    Jinagsu: nanjing
    Host: 127.0.0.1:5000
    Connection: Keep-Alive
    User-Agent: Apache-HttpClient/4.5.13 (Java/1.8.0_101)
    Accept-Encoding: gzip,deflate


    -----------------------------------------------------------------
    ImmutableMultiDict([])
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  • 相关阅读:
    Hackerrank--Emma and sum of products (FFT)
    Hdu 1402 (FFT)
    Hackerrank--Divisibility of Power(Math)
    Hackerrank--Stock Maximize(DP Practice)
    Codeforces 455B
    vim 简明教程(转自飘过的小牛)
    ACdream 1007 (快速幂)
    编写可维护的JS 02
    编写可维护的JS 01
    图片加载-从模糊到清晰
  • 原文地址:https://www.cnblogs.com/xiaobaibailongma/p/15077536.html
Copyright © 2011-2022 走看看