Skip to content

urllib2 Erreur HTTP 400 : Requête incorrecte

Solution:

La raison pour laquelle “le chien” renvoie une erreur 400 est que vous n’échappez pas la chaîne pour une URL.

Si tu fais ça:

import urllib, urllib2

quoted_query = urllib.quote(query)
host="http://www.bing.com/search?q=%s&go=&qs=n&sk=&sc=8-13&first=%s" % (quoted_query, page)
req = urllib2.Request(host)
req.add_header('User-Agent', User_Agent)
response = urllib2.urlopen(req)

Ça va marcher.

Cependant, je vous suggère fortement d’utiliser des requêtes au lieu d’utiliser urllib/urllib2/httplib. C’est beaucoup plus facile et il gérera tout cela pour vous.

C’est le même code avec les requêtes python :

import requests

results = requests.get("http://www.bing.com/search", 
              params={'q': query, 'first': page}, 
              headers={'User-Agent': user_agent})

Vous devez utiliser urllib.quote() sur votre variable ‘requête’ :

query = urllib.quote(query)
host="http://www.bing.com/search?q=%s&go=&qs=n&sk=&sc=8-13&first=%s" % (query, page)

Cela fait l’URL nécessaire pour convertir l’espace dans big dog à big%20dog.

vous devez utiliser urllib.quote



Articles Similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *