ETL嵌入自编写java获取Cookie

首先创建一个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 记录 。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值