ETL嵌入自编写java获取Cookie

来源:互联网 发布:vb学生信息管理系统 编辑:程序博客网 时间:2024/05/15 20:13

首先创建一个java项目 ,这里由于抽数需要,取响应Cookies
这里写图片描述

import java.io.IOException;import java.util.Map;import java.util.Map.Entry;import org.jsoup.Connection;import org.jsoup.Connection.Method;import org.jsoup.Connection.Response;import org.jsoup.Jsoup;public class JsoupTest {    public static void main(String[] args) throws IOException {        JsoupTest jt = new JsoupTest();        jt.returnCookies();    }    public static  final String returnCookies() {        try {            Connection conn = Jsoup.connect("https://baidu.com");            conn.method(Method.GET);            conn.followRedirects(false);            Response response;            response = conn.execute();            Map<String, String> getCookies = response.cookies();//          System.out.println(getCookies.toString());            return getCookies.toString();        } catch (IOException e) {            e.printStackTrace();        }        return null;    }}

完成之后导出jar包 放到kettle 的lib目录下
这里写图片描述

之后重启kettle.

这里写图片描述

这里写图片描述

import com.XXX.getCookies.JsoupTest;    //add by  libbytian     //此次调用的方法 需要再次百度学习    public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException     {         Object[] r = getRow();         if (r == null) {             setOutputDone();             return false;         }         if (first)         {             first = false;         }         //调用jar        // String foobar = get(Fields.In, "Key").getString(r); //输入参数        JsoupTest jt = new JsoupTest ();         String foobar = jt.returnCookies();      //  foobar += json;         get(Fields.Out, "Key").setValue(r, foobar);         //获取参数     //     String ValueField = getParameter("Value");        //  get(Fields.Out, "Value").setValue(r, ValueField); //输出参数         // Send the row on to the next step.         putRow(data.outputRowMeta, r);         return true;     } 

这里写图片描述

运行即可出一条Cookie 记录 。

原创粉丝点击