2009-04-17 27 views
7

Aşağıdaki python komut dosyasına sahibim ve "sahte" başlık bilgilerini birlikte göndermek istiyorum; böylece, uygulamam, firefox gibi davranıyor. Bunu nasıl yapabilirim?Python boyunca üstbilgileri gönderin

import urllib, urllib2, cookielib 

username = '****' 

password = '****' 

login_user = urllib.urlencode({'password' : password, 'username' : username}) 

jar = cookielib.FileCookieJar("cookies") 

opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(jar)) 

response = opener.open("http://www.***.com") 

response = opener.open("http://www.***.com/login.php") 

response = opener.open("http://www.***.com/welcome.php", login_user) 

cevap

6

opener nesnesindeki addheaders() işlevini kullanın. Eğer açıcı oluşturduktan sonra Eğer açılış sayfalarını başlamadan önce
Sadece bu satırı ekleyin:

opener.addheaders = [('User-agent', 'Mozilla/5.0')] 

http://docs.python.org/library/urllib2.html istediğiniz sadece nasıl tam bağlı

5

Sen biraz daha düşük seviyeli bunu yapabilmek için almak zorunda.

request = urllib2.Request('http://stackoverflow.com') 
request.add_header('User-Agent', 'FIREFOX LOL') 
opener = urllib2.build_opener() 
data = opener.open(request).read() 
print data 

Test edilmemiştir.

1

FWIW, (bu belgenin dibinde) taklit Firefox, User-Agent'ı ayarlamaya yetmeyebilir (ancak bu durum büyük olasılıkla çoğu vaka için yeterlidir). Komut dosyanızı 'normal' web taraması gibi görünmesini sağlamak için, uygun bir Yönlendirmeyi ayarlayıp sayfa içeriğinin geri kalanı (Javascript/CSS/Images/Flash/etc) için ek istekler yapmak isteyebilirsiniz. Belirli bir durum için belki de uygun olmayan bir şey.