[JAVA] Talend WebAPI-Lösung für Komponenten, die Cookies speichern, wenn Daten abgerufen werden

Wie kann ich uniqid werden, wenn ich Daten mit der Talend Web API erhalte?

Denkweise: ・ Uniqid wird als Cookie gespeichert -Talend bestätigt, dass es keine Komponente zum Erwerb von Cookies gibt. -Erstellen Sie eine Java-Komponente, die Cookies von Hand erfasst.

Bild: 11.jpg

Java-Quelle: //変数を定義する String strPonit ="{"uniqid":""; String domainurl = "xxxxxxxxxxxxxxxxxxxxxx"; String content_type = "application/x-www-form-urlencoded"; String apikey = "xxxxxxxxxxxxxxxxxxxxxx"; String login_id ="xxxxxxxxxxxxxxxxxxxxxx"; String login_password ="xxxxxxxxxxxxxxxxxxxxxx"; String udid ="xxxxxxxxxxxxxxxxxxxxxx"; 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<String, List> map = conn.getHeaderFields(); //画面のcookieを取得 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();

Bild: 12.jpg

HTTP-Body: "action=list&table=products_class&limit=50000000&offset=0&udid="+(String)context.get("udid")+"&uniqid="+(String)context.get("uniqid")

Hinweis: Jobs werden auf persönliches GIT aktualisiert (privat)

das ist alles

Recommended Posts

Talend WebAPI-Lösung für Komponenten, die Cookies speichern, wenn Daten abgerufen werden
LIMIT 11, wenn Daten mit irb erfasst werden
Wenn der Monat des Datums erfasst wird, verschiebt sich der Januar
So beheben Sie das Problem, dass beim Stoppen der Webanwendung kein Protokollierungsprotokoll ausgegeben wird