Commande cURL
Commande cURL
Bonjour,
Lorsque que j'exécute une commande cURL via un pgm, je récupère un code erreur = 0 et le contenu du fichier sur l'ifs est vide.
Alors que si je lance la même commande via Postman et le résultat est bon.
Voici le curl récupéré du postman :
curl --location --request POST 'https://document-management-services.i1 ... /open/auth' \
--header 'Accept: application/json' \
--header 'Authorization: Basic ZG1zX29hdjpkbXNvYXYyMDIw' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials'
Voici la commande lancée via le pgm :
STRQSH CMD('/QOpenSys/pkgs/bin/curl --location --request POS
T ''https://document-management-services.i1 ... al.dev.app
s.cbp.solutions/private/open/auth'' \ --header ''Accept: ap
plication/json'' \ --header ''Authorization: Basic ZG1zX29h
djpkbXNvYXYyMDIw'' \ --header ''Content-Type: application/x
-www-form-urlencoded'' \ --data-urlencode ''grant_type=clie
nt_credentials'' > ''/Application/Adhesion/courriers/outputT
oken-20210816144757713300.txt''')
Avez-vous une idée ?
Merci d'avance pour vos réponses.
Lorsque que j'exécute une commande cURL via un pgm, je récupère un code erreur = 0 et le contenu du fichier sur l'ifs est vide.
Alors que si je lance la même commande via Postman et le résultat est bon.
Voici le curl récupéré du postman :
curl --location --request POST 'https://document-management-services.i1 ... /open/auth' \
--header 'Accept: application/json' \
--header 'Authorization: Basic ZG1zX29hdjpkbXNvYXYyMDIw' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials'
Voici la commande lancée via le pgm :
STRQSH CMD('/QOpenSys/pkgs/bin/curl --location --request POS
T ''https://document-management-services.i1 ... al.dev.app
s.cbp.solutions/private/open/auth'' \ --header ''Accept: ap
plication/json'' \ --header ''Authorization: Basic ZG1zX29h
djpkbXNvYXYyMDIw'' \ --header ''Content-Type: application/x
-www-form-urlencoded'' \ --data-urlencode ''grant_type=clie
nt_credentials'' > ''/Application/Adhesion/courriers/outputT
oken-20210816144757713300.txt''')
Avez-vous une idée ?
Merci d'avance pour vos réponses.
Re: Commande cURL
Bonjour,
quel est le résultat si vous le tapez depuis l'IBM i en ligne de commande QSH ?
quel est le résultat si vous le tapez depuis l'IBM i en ligne de commande QSH ?
Nathanaël
Re: Commande cURL
Quand je tape la commande, le code erreur est 0 et le statut = 3.
Re: Commande cURL
J'ai oublié de mentionner que l'exemple suivant fonctionne dans un pgm :
STRQSH CMD('/QOpenSys/pkgs/bin/curl --location --request PO
ST ''http://edition-oav.i1.internal.dev.apps.cbp.solutions/o
av/uploadMultipleFiles?name=document.pdf&mimetype=applicatio
n/pdf'' \ --form ''courrier=@/Application/Adhesion/courrier
s/208/2021/8/5/63400068_A_Assure.PDF'' \ --form ''json={"co
urrier":{"id":63400068,"dmsMetaData":{"content":{"mimeType":
"application/pdf"},"description":"63400068-Assuré","indexati
on":{"activity":{"id":"1"},"domain":{"id":"1"},"subsidiary":
{"id":"4"},"nature":{"id":208}}}},"transmissionCourrier":{"i
d":"OUTPUT_MAIL","copyCount":"1","registered":"false","count
ry":{"id":"71","name":""},"printing":{"defaultPrintingQueue"
:"JOURPREVX","printingMode":"AUTOMATIC"},"delay":1}}'' > ''/
Application/Adhesion/courriers/output-20210826102607724447.t
xt''')
STRQSH CMD('/QOpenSys/pkgs/bin/curl --location --request PO
ST ''http://edition-oav.i1.internal.dev.apps.cbp.solutions/o
av/uploadMultipleFiles?name=document.pdf&mimetype=applicatio
n/pdf'' \ --form ''courrier=@/Application/Adhesion/courrier
s/208/2021/8/5/63400068_A_Assure.PDF'' \ --form ''json={"co
urrier":{"id":63400068,"dmsMetaData":{"content":{"mimeType":
"application/pdf"},"description":"63400068-Assuré","indexati
on":{"activity":{"id":"1"},"domain":{"id":"1"},"subsidiary":
{"id":"4"},"nature":{"id":208}}}},"transmissionCourrier":{"i
d":"OUTPUT_MAIL","copyCount":"1","registered":"false","count
ry":{"id":"71","name":""},"printing":{"defaultPrintingQueue"
:"JOURPREVX","printingMode":"AUTOMATIC"},"delay":1}}'' > ''/
Application/Adhesion/courriers/output-20210826102607724447.t
xt''')
Re: Commande cURL
En lançant la commande STRQSH CMD.... sur une ligne de commande, j'obtiens :
$
'/QOpenSys/pkgs/bin/curl --location --request POST ''https://document-management-services.i1 ... tions/priv
ate/open/auth'' \ --header ''Accept: application/json'' \ --header ''Authorization: Basic ZG1zX29hdjpkbXNvYXYyMDIw'' \ --heade
r ''Content-Type: application/x-www-form-urlencoded'' \ --data-urlencode ''grant_type=client_credentials'' > ''/Application/Adhe
sion/courriers/outputToken-20210826888757713300.txt'''
qsh: 001-0014 Command /QOpenSys/pkgs/bin/curl --location --request POST https://document-management-services.i1 ... l.dev.apps
.cbp.solutions/private/open/auth \ --header Accept: application/json \ --header Authorization: Basic ZG1zX29hdjpkbXNvYXYyMDIw \
--header Content-Type: application/x-www-form-urlencoded \ --data-urlencode grant_type=client_credentials > /Application/Adhes
ion/courriers/outputToken-20210826888757713300.txt not found.
$
$
'/QOpenSys/pkgs/bin/curl --location --request POST ''https://document-management-services.i1 ... tions/priv
ate/open/auth'' \ --header ''Accept: application/json'' \ --header ''Authorization: Basic ZG1zX29hdjpkbXNvYXYyMDIw'' \ --heade
r ''Content-Type: application/x-www-form-urlencoded'' \ --data-urlencode ''grant_type=client_credentials'' > ''/Application/Adhe
sion/courriers/outputToken-20210826888757713300.txt'''
qsh: 001-0014 Command /QOpenSys/pkgs/bin/curl --location --request POST https://document-management-services.i1 ... l.dev.apps
.cbp.solutions/private/open/auth \ --header Accept: application/json \ --header Authorization: Basic ZG1zX29hdjpkbXNvYXYyMDIw \
--header Content-Type: application/x-www-form-urlencoded \ --data-urlencode grant_type=client_credentials > /Application/Adhes
ion/courriers/outputToken-20210826888757713300.txt not found.
$
Re: Commande cURL
La commande ne doit pas être entre cote ' (c'est peut être juste le copier / coller).
Vous pouvez vérifier que la commande curl est bien installée par :
/QopenSys/pkgs/bin/curl --help
Vous pouvez vérifier que la commande curl est bien installée par :
/QopenSys/pkgs/bin/curl --help
Nathanaël
Re: Commande cURL
J'ai essayé en enlevant les ' et voici les messages :
curl: (3) URL using bad/illegal format or missing URL
curl: (6) getaddrinfo() thread failed to start
Je confirme, la commande curl /QopenSys/pkgs/bin/curl --help est bien installée.
curl: (3) URL using bad/illegal format or missing URL
curl: (6) getaddrinfo() thread failed to start
Je confirme, la commande curl /QopenSys/pkgs/bin/curl --help est bien installée.
Re: Commande cURL
Bonsoir,
essayez après avoir ajouter la variable d'environnement QIBM_MULTI_THREADED, par défaut QSH n'est pas multithread.
curl: (6) getaddrinfo() thread failed to start devrait disparaitre
si curl: (3) URL using bad/illegal format or missing URL persiste essayons avec un script shell
Puis lancez (toujours avec QIBM_MULTI_THREADED=Y)
essayez après avoir ajouter la variable d'environnement QIBM_MULTI_THREADED, par défaut QSH n'est pas multithread.
Code : Tout sélectionner
ADDENVVAR ENVVAR(QIBM_MULTI_THREADED) VALUE('Y')
si curl: (3) URL using bad/illegal format or missing URL persiste essayons avec un script shell
Code : Tout sélectionner
EDTF 'curltest.sh'
Code : Tout sélectionner
PATH=/QOpenSys/pkgs/bin/:$PATH
curl
--verbose
--location --request POST 'https://document-management-services.i1.internal.dev.apps.cbp.solutions/private/open/auth' \
--header 'Accept: application/json' \
--header 'Authorization: Basic ZG1zX29hdjpkbXNvYXYyMDIw' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
> '/Application/Adhesion/courriers/outputToken-20210816144757713300.txt'
Code : Tout sélectionner
QSH CMD('chmod +x curltest.sh;curltest.sh')
Nicolas