urllib accept-language doesn't have any effect

Philip Semanchuk philip at semanchuk.com
Wed Oct 15 17:41:04 CEST 2008


On Oct 15, 2008, at 9:50 AM, Martin Bachwerk wrote:

> Hello,
>
> I'm trying to load a couple of pages using the urllib2 module. The  
> problem is that I live in Germany and some sites seem to look at the  
> IP of the client and forward him to a localized page.. Here's an  
> example of the code, how I want to access google.com main english  
> page, but get German instead. (For those of you who live in US, you  
> will probably get correct results.. try emulating with 'fr' in  
> accepted languages or something)
>
> opener = urllib2.build_opener()
> opener.addheaders = [('Host', 'www.google.com'), ('Accept- 
> Language','en-gb,en;q=0.5'), ('User-agent', 'Mozilla/5.0 (Windows;  
> U; Windows NT 5.1; en-GB; rv:1.9.0.1) Gecko/2008070208 Firefox/ 
> 3.0.1')]
> webfile = opener.open(url)

Martin,
It looks to me like what you're sending is correct. Debugging  
suggestions --

- Set up a Web server on 127.0.0.1 and see what that server receives  
when your Python code connects to it. Maybe you're not sending quite  
what you think.
- Try emulating your Python code with wget or a similar command line  
tool that lets you set headers.
- Sniff the conversation you're having with google using Wireshark.  
Maybe you're getting redirected by the remote server.

Good luck
Philip



More information about the Python-list mailing list