Urllib

Fermé
diabloic Messages postés 141 Date d'inscription mardi 3 novembre 2009 Statut Membre Dernière intervention 28 juillet 2014 - 2 juil. 2014 à 23:02
diabloic Messages postés 141 Date d'inscription mardi 3 novembre 2009 Statut Membre Dernière intervention 28 juillet 2014 - 3 juil. 2014 à 21:34
Bonjour,

J'ai le script suivant (je mets qu'une partie il est grand) pour récupérer des données sur différent site sur internet.
Il fonctionne très bien sur un serveur. Je le porte sur un nouveau serveur centos et il me retourne les erreurs suivantes. La seul différence est que qu'il y a désormais un proxy. J'ai les accès pour sortir (adresse, user, pass). Je pense qu'il faut modifier la partie "urllib" mais je ne sais pas comment faire.


import re
import urllib
try:
# For Python 3.0 and later
from urllib.request import urlopen
from urllib.request import Request
except ImportError:
# Fall back to Python 2's urllib2
from urllib2 import urlopen
from urllib2 import Request
import time

def get_mcafee(file_ips):
result_list = []
file = open(file_ips, "r")
for ip in file:
req = Request('http://www.mcafee.com/threat-intelligence/ip/default.aspx?ip='+ip)
response = urlopen(req)
data = response.read().decode('utf-8')
result = re.search('img/banners/threat/risk-meters/rm-emailrep-(.*)-webrep', data)
#print(data)
while result is None:
...

Les erreurs


raceback (most recent call last):
File "./get_reputation.py", line 181, in <module>
create_result()
File "./get_reputation.py", line 175, in create_result
write_in_file(file, "toto", "toto.fr", 69, 69)
File "./get_reputation.py", line 153, in write_in_file
list_mcafee = get_mcafee(name+".txt")
File "./get_reputation.py", line 44, in get_mcafee
response = urlopen(req)
File "/usr/lib64/python2.6/urllib2.py", line 126, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib64/python2.6/urllib2.py", line 391, in open
response = self._open(req, data)
File "/usr/lib64/python2.6/urllib2.py", line 409, in _open
'_open', req)
File "/usr/lib64/python2.6/urllib2.py", line 369, in _call_chain
result = func(*args)
File "/usr/lib64/python2.6/urllib2.py", line 1190, in http_open
return self.do_open(httplib.HTTPConnection, req)
File "/usr/lib64/python2.6/urllib2.py", line 1165, in do_open
raise URLError(err)
urllib2.URLError: <urlopen error [Errno -2] Name or service not known>

Si j'ai été clair et que vous pouvez m'aider merci bcp.

++

2 réponses

ElementW Messages postés 4814 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 227
2 juil. 2014 à 23:32
'lut, "La seul différence est que qu'il y a désormais un proxy", et pas que... c'est un proxy transparent déjà?
Apparemment non, donc il faut modifier ton code pour y mettre les bons paramètres, avec
urllib.ProxyHandler
. Sinon, vérifie si 1. le poste est correctement connecté 2. les DNS sont corrects.
0
diabloic Messages postés 141 Date d'inscription mardi 3 novembre 2009 Statut Membre Dernière intervention 28 juillet 2014 5
3 juil. 2014 à 21:34
Merci pour ta réponse.

J'ai vu ça mais c'est la syntax que je ne comprenais pas trop.

Je vais reregarder l'ensemble.

++
0