java中怎么实现投放pythonsession功能
创始人
2024-12-23 14:42:15
0次

在pom.xml中加入相关依赖

 com.squareup.okhttp3  okhttp  4.2.2

后面是相关的java代码:

package com.puple.atto.datastructure;import java.text.MessageFormat;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Set;import java.util.regex.*; import okhttp3.Cookie;import okhttp3.CookieJar;import okhttp3.FormBody;import okhttp3.HttpUrl;import okhttp3.OkHttpClient;import okhttp3.Request;import okhttp3.Response;public class Session {   private final OkHttpClient mOkHttpClient = new OkHttpClient.Builder().cookieJar(new CookieJarManager()).build();//   //如果直接写个类,里面写saveFromResponse和loadForRequest,而不实现CookieJar接口,运行可以正常通过,但ide会显红,因为Bulider类的cookieJsr方法需要接受CookieJar类型的实例。鸭子类除了能节约代码行数,在可理解性 可读性 多人合作性上面都不如接口规范,谁知道鸭子类里面要写什么方法,除了写代码得人自己。  private class CookieJarManager implements CookieJar{    private final HashMap> cookieStore = new HashMap<>();     @Override    public void saveFromResponse(HttpUrl url, List cookies) {      cookieStore.put(url.host(), cookies);    }     @Override    public List loadForRequest(HttpUrl url) {      List cookies = cookieStore.get(url.host());      return cookies != null ? cookies : new ArrayList(){};    }  }   /**   * @param url 要请求的url   * @param paramsMap post的请求参数   * @return post的返回结果   */  public String post(String url, HashMap paramsMap){     FormBody.Builder formBodyBuilder = new FormBody.Builder();    Set keySet = paramsMap.keySet();    for(String key:keySet) {      String value = paramsMap.get(key);      formBodyBuilder.add(key,value);    }    FormBody formBody = formBodyBuilder.build();    Request request = new Request        .Builder()        .post(formBody)        .url(url)        .build();    try (Response response = mOkHttpClient.newCall(request).execute()) {      String respStr = response.body().string();       return respStr;    }catch (Exception e){       e.printStackTrace();      return "";    }  }   public String get(String url) {    final Request.Builder builder = new Request.Builder();    builder.url(url);    final Request request = builder.build();    try (Response response = mOkHttpClient.newCall(request).execute()) {      return response.body().string();    }catch (Exception e){      e.printStackTrace();      return "";    }  }   public static void test(){    Session ss=new Session();    String loginUrl="http://192.168.9.244:8080/RDCJWeb/login";    HashMap paramsMap = new HashMap<>() ;    paramsMap.put("username","soft1");    paramsMap.put("password","soft1");    String respStr = ss.post(loginUrl,paramsMap);     String res=ss.get("http://192.168.9.244:8080/RDCJWeb/static/dist/html/deviceWarn.html");    System.out.println(res);   }   public static void main(String[] args) {    test();  } }

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...