场景:调用接口完成某项操作,但是接口是强登录的,需要cookie, 且cookie会过期;服务器会限制登录的次数,如果一个账号频繁登录,则在短时间内无法正常登录,因此无法做到每调用接口一次就登录一次,且这样的效率也会比较低;
方法: 采用httpClient获取cookie, 并在接口上加入cookie校验;
核心代码:
0. 需要加入的jar包
1 importorg.apache.commons.lang.StringUtils;2 importorg.apache.commons.httpclient.HttpClient;3 importorg.apache.commons.httpclient.methods.GetMethod;4 importorg.apache.http.Header;5 importorg.apache.http.HttpResponse;6 importorg.apache.http.HttpStatus;7 importorg.apache.http.StatusLine;8 importorg.apache.http.client.CookieStore;9
10 importorg.apache.http.client.HttpClient;11 importorg.apache.http.client.methods.HttpGet;12 importorg.apache.commons.httpclient.methods.GetMethod;13
14 importorg.apache.http.client.methods.HttpPost;15
16 importorg.apache.http.cookie.Cookie;17 importorg.apache.http.impl.client.BasicCookieStore;18
19 importorg.apache.http.impl.client.HttpClients;20 importorg.apache.http.protocol.BasicHttpContext;21 import org.apache.http.protocol.HttpContext;
View Code
需要导入pom.xml文件的依赖
1
2 org.apache.httpcomponents
3 httpclient
4 4.5.5
5
6
7 commons-httpclient
8 commons-httpclient
9 3.1
10
1. 获取cookie, 其中
getUrl(loginUrl, username, password)