Bonsoir,
Je dois actuellement me loguer sur un site pour y récupérer le suivi de certains flux via un export CSV.
Je souhaiterais automatiser cette opération grâce à un script Bash et cURL.
Pour le moment je parviens à me connecter au site et à naviguer sur certaines pages mais bien évidemment ça coince sur la page de l'export CSV...
Dans un navigateur, pour accéder à l'export il faut cliquer un bouton qui ouvre une popup et c'est dans cette dernière qu'on peut lancer l'export.
Je ne parviens pas à générer l'export dans mon script...
Voici les différentes étapes :
Connexion
Ouverture d'une page qui fonctionne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 curl --cookie-jar ./cookie "https://www.jedeclare.com/member/login/anonymous?_wrapper_format=drupal_modal&ajax_form=1&_wrapper_format=drupal_ajax" \ -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0" \ -H "Accept: application/json, text/javascript, */*; q=0.01" \ -H "Accept-Language: fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3" \ --compressed \ -H "Referer: https://www.jedeclare.com/prehome" \ -H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" \ -H "X-Requested-With: XMLHttpRequest" \ -H "Connection: keep-alive" \ --data "name=username&pass=password&form_build_id=form-ikfhQeY9j_M-0gvTL8TuOQLJtlFAD7XSfByvmFPbKsw&form_id=user_login_form&_triggering_element_name=op&_triggering_element_value=Valider&_drupal_ajax=1&ajax_page_state"%"5Btheme"%"5D=jedeclare&ajax_page_state"%"5Btheme_token"%"5D=&ajax_page_state"%"5Blibraries"%"5D=bootstrap"%"2Fpopover"%"2Cbootstrap"%"2Ftooltip"%"2Ccore"%"2Fdrupal.dialog.ajax"%"2Ccore"%"2Fhtml5shiv"%"2Ccore"%"2Fjquery.form"%"2Ceu_cookie_compliance"%"2Feu_cookie_compliance"%"2Cform_placeholder"%"2Fform_placeholder"%"2Cgoogle_analytics"%"2Fgoogle_analytics"%"2Cjdc_services"%"2Fjdc_services.base"%"2Cjedeclare"%"2Fbootstrap-scripts"%"2Cjedeclare"%"2Fdrupal.dialog"%"2Cjedeclare"%"2Fdrupal.dialog.ajax"%"2Cjedeclare"%"2Fglobal-styling"%"2Clayout_discovery"%"2Fonecol"%"2Csystem"%"2Fbase"
Tentative de génération de l'export
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 curl --cookie ./cookie "https://www.jedeclare.com/webapp/critereTDAction.do?flag1=1&actionAffichage=normal" \ -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0" \ -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" \ -H "Accept-Language: fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3" \ --compressed \ -H "Referer: https://www.jedeclare.com/webapp/preLoginCMSAction.do" \ -H "Connection: keep-alive" \ -H "Upgrade-Insecure-Requests: 1"
Le serveur me renvoie une erreur 500...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 curl --cookie ./cookie "https://www.jedeclare.com/webapp/exportListTdAction.do" \ -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0" \ -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" \ -H "Accept-Language: fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3" \ --compressed \ -H "Referer: https://www.jedeclare.com/webapp/critereTDAction.do?export=true" \ -H "Content-Type: application/x-www-form-urlencoded" \ -H "Connection: keep-alive" \ -H "Upgrade-Insecure-Requests: 1" \ --data "avecCartouche=on&format=csv&avecColonneIdMessage=on&avecColonneDateDepot=on&avecColonneHeureDepot=on&avecColonneCompte=on&avecColonneSiret=on&avecColonneRof=on&avecColonneNoDossierInterne=on&avecColonneNoAbregDossier=on&avecColonneTypeTd=on&avecColonneTypeDest=on&avecColonneDestinataire=on&avecColonnePeriodeRattachement=on&avecColonneEtapes=on&x=44&y=8"
Lorsque je lance dans une console les requêtes récupérées grâce au déboguer d'un navigateur (Copy as cURL) je parviens à récupérer mon export...
Différence notable : La présence de -H "Cookie:..." dans les instructions récupérées via le débogueur
Auriez-vous une idée de ce qui pourrait causer cette erreur ?
Partager