Talend WebAPI 데이터 검색 시 쿠키 저장할 구성 요소 솔루션
사고방식:
· uniqid는 쿠키로 저장합니다.
・Talend는 쿠키 취득하는 컴퍼넌트가 없는 것을 확인.
・손으로 쿠키 취득하는 java 컴퍼넌트 작성한다.
이미지:
java 출처:
//변수 정의
String strPonit ="{\"uniqid\":\"";
String domainurl = "xxxxxxxxxxxxxxxxxxxxxxxxx";
String content_type = "application/x-www-form-urlencoded";
String apikey="xxxxxxxxxxxxxxxxxxxxxxxxx";
String login_id = "xxxxxxxxxxxxxxxxxxxxxxxxx";
String login_password = "xxxxxxxxxxxxxxxxxxxxxxxxx";
String udid = "xxxxxxxxxxxxxxxxxxxxxxxxx";
context.put("udid",udid);
//화면 청구 매개변수
apikey =String.format(apikey, login_id, login_password,udid);
java.net.URL url = new java.net.URL(domainurl);
java.net.HttpURLConnection conn = (java.net.HttpURLConnection)url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", content_type);
conn.setDoOutput(true);
DataOutputStream out = new DataOutputStream(conn.getOutputStream());
out.writeBytes(apikey);
out.flush();
out.close();
java.util.Map> map = conn.getHeaderFields();
//화면 쿠키 가져오기
context.put("Cookie",map.get("Set-Cookie").get(0));
java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(conn.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
int startPonit = inputLine.indexOf(strPonit) + strPonit.length();
int endPonit = inputLine.indexOf("\"",startPonit);
//결제가 성공하면 화면의 uniqid 얻기
context.put("uniqid",inputLine.substring(startPonit, endPonit));
//System.out.println(inputLine);
}
in.close();
이미지:
HTTP 바디:
"action=list&table=products_class&limit=50000000&offset=0&udid="+(String)context.get("udid")+"&uniqid="+(String)context.get("uniqid")
참고: 작업은 개인 GIT에 업데이트(비공개)
이상
Reference
이 문제에 관하여(Talend WebAPI 데이터 검색 시 쿠키 저장할 구성 요소 솔루션), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/riken551/items/9a58e35e4796c6a6cd44텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)