-
Datei aus dem Web laden und im IFS speichern
Hallo zusammen,
gibt es eine Möglichkeit, mit Bordmitteln, eine Datei aus dem Internet ins IFS zu laden ?
Normal würde ic hdas mit CURL oder WGET machen, aber beides ist auf der Maschine nicht verfügbar.
mfg
jogi
-
WGET kannst du dir installieren. Hab ich auch auf unserem System mal gemacht.
Anleitung dafür findest du im Internet.
Ansonsten könntest du dir auch die SQL Funktionen in der SYSTOOLS anschauen (z.B. HTTPGETCLOBVERBOSE).
Mit denen sollte es möglich sein den Response als BLOB in eine Temporäre Tabelle zu schreiben und diese kannst du dann ins IFS exportieren.
Für den HTTP Aufruf selbst gibt es sowohl im Internet als auch im Forum Beispiele.
So wie dieses hier von Rainer Ross http://newsolutions.de/forum-systemi...7034#post97034
lg Andreas
-
Hallo,
@Andreas, danke für den Hinweis auf den Link
Für alle, die sich für das Thema interessieren, hier der Source für den Zugriff auf den Webservice von Google Maps, incl. dem Speichern des Ergebnisses ins IFS. Das geht ab 7.1. Das Parsen von XML-Daten geht mit XML-Into. Das Parsen von JSON-Daten geht mit JSON_TABLE. Auch hier gibt es bereits Post's zum Thema.
HTTPGETCLOB ist für Character-Daten vorgesehen. Für Bilder, PDF's oder MP3 nimmt man HTTPGETBLOB. Analog verwendet man für POST-Requests HTTPPOSTCLOB und HTTPPOSTBLOB.
@Birgitta Hauser, vielen Dank für Deine hervorragende Unterstützung im Bereich SQL
PHP-Code:
ctl-opt main(main) dftactgrp(*no) option(*nounref); //------------------------------------------------------------------// // // // GETHTTPCLOB from Google Maps API // // // //----------------- // // R.Ross 01.2017 * // //------------------------------------------------------------------// // Variables // //------------------------------------------------------------------// dcl-s myfile sqltype(CLOB_FILE); // CLOB-File dcl-s myurl varchar(256); // URL dcl-s myheader varchar(256); // HTTP-Header dcl-s query varchar(256); // QueryString //------------------------------------------------------------------// // Procedure - Main // //------------------------------------------------------------------// dcl-proc main; exec sql set option datfmt=*iso, timfmt=*iso, commit=*none, closqlcsr=*endactgrp; myurl = 'https://maps.googleapis.com/maps/api/geocode/xml?' + 'address='; query = '3605 US-52, Rochester, MN'; // URL-Encoding exec sql set :query = systools.urlencode(:query,'UTF-8'); myurl += query; // URL + QueryString myfile_name = '/tmp/test.xml'; // StreamFile myfile_nl = %len(%trim(myfile_name)); // NameLength myfile_fo = SQFOVR; // FileOverwrite exec sql values systools.httpgetclob (:myurl, :myheader) into :myfile; end-proc; //------------------------------------------------------------------//
Herzliche Grüße
Rainer
-
Hallo,
Danke für eure Antworten.
Leider läuft auf der AS400 noch 6.1 :-)
Lässt sich das dort auch zum Laufen bringen ?
LG
Jogi
-
Dir kann geholfen werden. Für Systeme ab V4.2 gibt es die HTTPAPI von Scott Klement unter folgendem Link https://www.scottklement.com/httpapi/httpapi_zip.html
Anbei ein Beispiel-CL mit Aufruf des Google-Maps Webservice
PHP-Code:
/*********************************************************************/ /* */ /* GET GOOGLE-MAPS XML-DATA */ /* */ /****************** */ /* R.ROSS 01.2017 * */ /*********************************************************************/
PGM
DCL VAR(&URL) TYPE(*CHAR) LEN(256) DCL VAR(&STMF) TYPE(*CHAR) LEN(256)
MONMSG MSGID(CPF0000) /*********************************************************************/ /* GET XML-DATA */ /*********************************************************************/
CHGVAR VAR(&URL) + VALUE('http://maps.googleapis.com/maps/api/+ geocode/xml?address=schmalholzstr. + 27,kaufering&components=country:DE')
CHGVAR VAR(&STMF) VALUE('/tmp/googmaps.xml')
HTTPAPI URL(&URL) DOWNLOAD(&STMF) DEBUG(*NONE)
CHGATR OBJ(&STMF) ATR(*CCSID) VALUE(1208)
/*********************************************************************/ /* ENDE */ /*********************************************************************/ ENDE: ENDPGM /*********************************************************************/
Herzliche Grüße
Rainer
Similar Threads
-
By rr2001 in forum IBM i Hauptforum
Antworten: 11
Letzter Beitrag: 02-03-20, 14:30
-
By gogocdb in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 15-07-15, 08:45
-
By petzi-mg in forum NEWSboard Programmierung
Antworten: 13
Letzter Beitrag: 06-11-14, 07:51
-
By activ in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 24-05-02, 07:32
-
By Marc in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 17-11-01, 11:04
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks