Convertir Script Python en php
Résolu
ananias8686
Messages postés
86
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour, je cherche une manière de convertir un script Python en php ou réécrire le script en php.
Le script permet de générer un IBAN irlandais correcte.
Je vous prie de m'aider
Merci
Le script permet de générer un IBAN irlandais correcte.
import requests import re import string import random URL_IBAN_GENERATOR = "https://bank.codes/iban/generate/ireland/" def random_generator(size, chars): return ''.join(random.choice(chars) for _ in range(size)) def bank_code(): return "PFSR" def branch_code(): return 991070 def account_number(): return random_generator(size=8, chars=string.digits) r = requests.post(URL_IBAN_GENERATOR, data={ "input_0": bank_code(), "input_1": branch_code(), "input_2": account_number() }) print(r.status_code, r.reason) match = re.search("IE[0-9]{2}[A-Z]{4}[0-9]{14}", r.text) if match: print(match.group()) else: print("iban not found")
Je vous prie de m'aider
Merci
A voir également:
- Convertir Script Python en php
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Script vidéo youtube - Guide
- Citizen code python avis - Accueil - Outils
- Convertir epub en kindle - Guide
- Convertir kindle en epub - Guide
2 réponses
Bonjour,
Visiblement ce script fait une requête POST vers l'url https://bank.codes/iban/generate/ireland/
avec 3 variables
Sachant que bank_code = PFSR
branch_code = 991070
account_number est un nombre aléatoire de 8 chiffres.
En php, tu peux utiliser du CURL pour faire cette requête POST
Et tu trouveras sans mal sur internet des scripts de génération de nombres aléatoires.
Et pour finir, ce script vérifie que le résultat obtenu est conforme à la regex IE[0-9]{2}[A-Z]{4}[0-9]{14}
Visiblement ce script fait une requête POST vers l'url https://bank.codes/iban/generate/ireland/
avec 3 variables
"input_0": bank_code(), "input_1": branch_code(), "input_2": account_number()
Sachant que bank_code = PFSR
branch_code = 991070
account_number est un nombre aléatoire de 8 chiffres.
En php, tu peux utiliser du CURL pour faire cette requête POST
Et tu trouveras sans mal sur internet des scripts de génération de nombres aléatoires.
Et pour finir, ce script vérifie que le résultat obtenu est conforme à la regex IE[0-9]{2}[A-Z]{4}[0-9]{14}
ananias8686
Messages postés
86
Date d'inscription
Statut
Membre
Dernière intervention
Voici ce que j'ai pu faire mais sans succès
Ton script devrait ressembler à un truc du genre
<?php //Affichage des erreurs PHP error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); /* Utilisation de Curl */ //On stock la valeur des variables POST $account_number = mt_rand(10010350,90141045); $pattern='IE[0-9]{2}[A-Z]{4}[0-9]{14}'; $data=array('input_0' => 'PFSR' , 'input_1' => 991070, 'input_2' => $account_number ); $fields_string = http_build_query($data); //Initialisation de curl dans $curl $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://bank.codes/iban/generate/ireland/"); //Page sur laquelle envoyer les POST autrement dit la page vers laquelle pointe le formulaire curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS,$fields_string); //On envoie les valeurs curl_setopt($ch, CURLOPT_FAILONERROR, true); // Required for HTTP error codes to be reported via our call to curl_error($ch) curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSLVERSION, 3); curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'SSLv3'); $data = curl_exec($ch); //On place le code de la page if (curl_errno($ch)) { $error_msg = curl_error($ch); } curl_close($ch); if (isset($error_msg)) { // TODO - Handle cURL error accordingly echo "ERREUR : <br>"; print_r($error_msg); exit(); } /* Affichage du code */ //ech echo preg_match($pattern) ; ?>
Oui je n'avais pas regardé cette partie de ton code
https://www.php.net/manual/fr/function.preg-match.php
ça devrait donner un truc du genre
https://www.php.net/manual/fr/function.preg-match.php
ça devrait donner un truc du genre
$matches = array(); preg_match('/'.$pattern.'/', $data, $matches,); print_r($matches);