httpclient Yapi 模拟登录获取cookies

举报
隔壁老汪 发表于 2022/06/24 23:03:16 2022/06/24
【摘要】 // https 忽略证书 SSLContextBuilder builder = SSLContexts.custom(); builder.loadTrustMaterial(null, new TrustStrategy() { @Override public boolean isTrusted(X509Certif...

  
  1. // https 忽略证书
  2. SSLContextBuilder builder = SSLContexts.custom();
  3. builder.loadTrustMaterial(null, new TrustStrategy() {
  4. @Override
  5. public boolean isTrusted(X509Certificate[] chain, String authType)
  6. throws CertificateException {
  7. return true;
  8. }
  9. });
  10. SSLContext sslContext = builder.build();
  11. SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(
  12. sslContext, new X509HostnameVerifier() {
  13. @Override
  14. public void verify(String host, SSLSocket ssl)
  15. throws IOException {
  16. }
  17. @Override
  18. public void verify(String host, X509Certificate cert)
  19. throws SSLException {
  20. }
  21. @Override
  22. public void verify(String host, String[] cns,
  23. String[] subjectAlts) throws SSLException {
  24. }
  25. @Override
  26. public boolean verify(String s, SSLSession sslSession) {
  27. return true;
  28. }
  29. });
  30. Registry<ConnectionSocketFactory> socketFactoryRegistry = RegistryBuilder
  31. .<ConnectionSocketFactory> create().register("https", sslsf)
  32. .build();
  33. PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(socketFactoryRegistry);
  34. CloseableHttpClient httpClient = HttpClients.custom()
  35. .setConnectionManager(cm).build();
  36. HttpPost httpPost = new HttpPost("https://yapixxx/api/user/login_by_ldap");
  37. httpPost.setHeader(new BasicHeader("Content-type", "application/x-www-form-urlencoded"));
  38. List<NameValuePair> list = new ArrayList<NameValuePair>();
  39. list.add(new BasicNameValuePair("email", "111"));
  40. list.add(new BasicNameValuePair("password", "12222"));
  41. httpPost.setEntity(new UrlEncodedFormEntity(list, "utf-8"));
  42. HttpResponse response = httpClient.execute(httpPost);
  43. Header[] headers = response.getHeaders("Set-Cookie");
  44. HashMap<String, String> cookies = new HashMap<String, String>(2);
  45. for (Header header : headers) {
  46. if (header.getValue().contains("_yapi_token")) {
  47. String token = header.getValue()
  48. .substring(header.getValue().indexOf("=") + 1, header.getValue().indexOf(';'));
  49. cookies.put("_yapi_token", token);
  50. } else if (header.getValue().contains("_yapi_uid")) {
  51. String uid = header.getValue()
  52. .substring(header.getValue().indexOf("=") + 1, header.getValue().indexOf(';'));
  53. cookies.put("_yapi_uid", uid);
  54. }
  55. }
  56. System.out.println("Cookies"+ JSON.toJSONString(cookies));

 

文章来源: blog.csdn.net,作者:隔壁老瓦,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/wxb880114/article/details/104169258

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。