java+httpclient—— 一个简单的get请求——python的flask服务器模拟接口返回
flask 提供web接服务:
from flask import Flask,request app = Flask(__name__) @app.route('/') def index(): print(request.headers) print('-----------------------------------------------------------------') print(request.cookies) print('+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++') return 'abc123' if __name__ == '__main__': app.run(debug=True)
通过java+httpclient发送请求:
import java.io.IOException;
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;
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/");
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));
Response.close();
}
}
请求执行结果:
HTTP/1.0
HTTP/1.0 200 OK
200
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
[Lorg.apache.http.Header;@5ae9a829
Content-Type: text/html; charset=utf-8
Content-Length: 6
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: 6
Server: Werkzeug/2.0.1 Python/3.9.4
Date: Thu, 29 Jul 2021 13:10:04 GMT
------------------------------------------------------
HTTP/1.0 200 OK
6
abc123
=====================================================================================
=====================================================================================
python中打印request的header如下:
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([])
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

浙公网安备 33010602011771号