[JAVA] Talend WebAPI Solution pour le composant qui enregistre le cookie lors de la récupération des données

Comment obtenir l'uniqid lorsque j'obtiens des données avec Talend Web API?

Façon de penser: ・ Uniqid est enregistré en tant que cookie -Talend confirme qu'il n'y a pas de composant pour acquérir des cookies. -Créer un composant Java qui acquiert les cookies à la main.

image: 11.jpg

source java: //変数を定義する 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();

image: 12.jpg

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

Remarque: les jobs sont mis à jour vers le GIT personnel (privé)

c'est tout

Recommended Posts

Talend WebAPI Solution pour le composant qui enregistre le cookie lors de la récupération des données
LIMIT 11 lorsque les données sont acquises avec irb
Lorsque le mois de la date est acquis, le quart de janvier
Comment résoudre le problème de non-sortie du journal de connexion lorsque l'application Web est arrêtée