Try pour urllib
Fermé
cs_perrierbertrand
Messages postés
36
Date d'inscription
lundi 25 août 2003
Statut
Membre
Dernière intervention
21 juillet 2024
-
14 mars 2021 à 22:43
cs_perrierbertrand Messages postés 36 Date d'inscription lundi 25 août 2003 Statut Membre Dernière intervention 21 juillet 2024 - 15 mars 2021 à 18:19
cs_perrierbertrand Messages postés 36 Date d'inscription lundi 25 août 2003 Statut Membre Dernière intervention 21 juillet 2024 - 15 mars 2021 à 18:19
A voir également:
- Sorry this video cannot be played please try again or pick another video
- Montage video windows - Guide
- Comment télécharger une vidéo youtube - Guide
- Or - Guide
- Script vidéo youtube - Guide
- Comment mettre une vidéo sur powerpoint - Guide
4 réponses
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
Ambassadeur
1 568
14 mars 2021 à 23:42
14 mars 2021 à 23:42
bonjour,
es-tu certain d'avoir partagé tout ton programme?
es-tu certain d'avoir partagé tout ton programme?
cs_perrierbertrand
Messages postés
36
Date d'inscription
lundi 25 août 2003
Statut
Membre
Dernière intervention
21 juillet 2024
1
Modifié le 15 mars 2021 à 17:53
Modifié le 15 mars 2021 à 17:53
merci
oui je n'ai pas mis tout mon programme
le voici
oui je n'ai pas mis tout mon programme
le voici
#!/usr/bin/python #doc [https://api.gandi.net/docs/livedns/] import requests import urllib.request import smtplib ## Importation du module import datetime from urllib2 import urlopen from urllib2 import HTTPError from urllib2 import URLError headers = {'authorization': 'Apikey -------------------------------------'} now = datetime.datetime.now() print (now.strftime("%d/%m/%Y %H:%M:%S ")) # Recupere l'Ip externe try: #page = urllib.urlopen("http://www.monip.org/").read() #ip = page.split("IP : ")[1].split("<br>")[0] ip = urllib.request.urlopen('http://ip.42.pl/raw', timeout=0.03).read() except urllib.request.socket.timeout as e: print (" Time-out .") exit() except urllib.request.socket.error as e: print ("URLError : Une autre erreur avec le serveur .") exit() except urllib.request.HTTPError as e: print ("HTTPError : Le serveur n a pas pu repondre a la demande.") print ('Code erreur : ', e.code) exit() except urllib.request.URLError as e: print ("URLError : Nous n\'avons pas reussi a atteindre le serveur .") print ("Code erreur : ", e.reason) except Exception as e: print("oups",e) print (ip) #api gandy GET @ url = "https://api.gandi.net/v5/livedns/domains/bertrandperrier.fr/records/@/A" response = requests.request("GET", url, headers=headers) print("GET @") print(response.text) #api gandy GET www url = "https://api.gandi.net/v5/livedns/domains/bertrandperrier.fr/records/www/A" response = requests.request("GET", url, headers=headers) print("GET www") print(response.text) #l'adresse ip est differente if response.text.find(str(ip)) == -1: print ("*********************") print ("******ip differente, faire le PUT A******") print ("*********************") serveur = smtplib.SMTP('smtp.gmail.com', 587) ## Connexion au serveur sortant (en precisant son nom et son port) serveur.starttls() ## Specification de la securisation serveur.login("--------------------------", "----------------------") ## Authentification message = "envoi d'un PUT "+str(ip) ## Message a envoyer serveur.sendmail("------------------------@gmail.com", "------------------@laposte.net", message) ## Envoie du message serveur.quit() ## Deconnexion du serveur next_put = {"rrset_type" : "@", "rrset_values" : [str(ip)]} print("PUT A") print next_put url = "https://api.gandi.net/v5/livedns/domains/bertrandperrier.fr/records/@/A" response = requests.put(url, json=next_put, headers=headers) print("reponse du put A") print(response.text) next_put = {"rrset_type" : "www", "rrset_values" : [str(ip)]} print("PUT www") print next_put url = "https://api.gandi.net/v5/livedns/domains/bertrandperrier.fr/records/www/A" response2 = requests.put(url, json=next_put, headers=headers) print("reponse du put www") print(response2.text) serveur = smtplib.SMTP('smtp.gmail.com', 587) ## Connexion au serveur sortant (en precisant son nom et son port) serveur.starttls() ## Specification de la securisation serveur.login("---------------------", "------------------------") ## Authentification message = "reponse des PUT. put1:"+response.text+". put2:"+response2.text ## Message a envoyer serveur.sendmail("----------------@gmail.com", "----------------@laposte.net", message) ## Envoie du message serveur.quit() ## Deconnexion du serveur else: print ("***********************") print ("******ip identique*****") print ("***********************")
EDIT : Correction des balises de code ( ajout du LANGAGE )
--
cs_perrierbertrand
Messages postés
36
Date d'inscription
lundi 25 août 2003
Statut
Membre
Dernière intervention
21 juillet 2024
1
15 mars 2021 à 14:15
15 mars 2021 à 14:15
effectivement il me manquait
except urllib.request.socket.timeout as e:
--
except urllib.request.socket.timeout as e:
--
yg_be
Messages postés
23476
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 février 2025
1 568
15 mars 2021 à 14:57
15 mars 2021 à 14:57
peux-tu alors marquer la discussion comme résolue?
cs_perrierbertrand
Messages postés
36
Date d'inscription
lundi 25 août 2003
Statut
Membre
Dernière intervention
21 juillet 2024
1
Modifié le 15 mars 2021 à 18:22
Modifié le 15 mars 2021 à 18:22
je ne comprend plus rien
j'ai un erreur de librairie
j'ai l'impression que le programme py ne fonctionne plus
--
j'ai un erreur de librairie
bertrand@bertrand-X200CA:~/linux/script$ py /home/bertrand/linux/script/updatedns3.py
/usr/bin/py:16: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.9 it will stop working
from collections import Iterable
Traceback (most recent call last):
File "/usr/bin/py", line 167, in <module>
result = eval(args.expression)
File "<string>", line 1
/home/bertrand/linux/script/updatedns3.py
^
SyntaxError: invalid syntax
j'ai l'impression que le programme py ne fonctionne plus
--
15 mars 2021 à 00:09
tu n'expliques ni ce que tu demandes, ni ce que tu souhaites.
à tout hasard, tu pourrais ajouter ceci en fin de code:
ou bien: