urllib - zusatezliche attribute definieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Costi
User
Beiträge: 544
Registriert: Donnerstag 17. August 2006, 14:21

Samstag 24. März 2007, 02:15

wie kann ich denn mit urllib zb meinen user-agent oder accept typ aendern?


danke
cp != mv
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Samstag 24. März 2007, 10:16

Hi

Also entweder machst du es mit der urllib2. Da musst du dann einfach ein Request-Object erstellen und diese dann beim urlopen übergeben.

Ich habs mal mit der httplib gemacht, dazu ein kleiner Ausschnitt:

Code: Alles auswählen

import httplib
import urllib

host = 'www.google.ch'
method = 'GET' # oder POST/HEAD
url = '/'
post_dict = None

conn = httplib.HTTPConnection(host)
conn.putrequest(method, url)
conn.putheader('User-Agent','Mein eigener User-Agent')

if method == 'POST' and post_dict:
    data = urllib.urlencode(post_dict)
    conn.putheader('Content-Type', 'application/x-www-form-urlencoded')
    conn.putheader('Content-Length', str(len(data)))

conn.endheaders()

if post_dict:
    conn.send(data)

response = conn.getresponse()

data = response.read()
headers = response.getheaders()
code = response.status

print 'Antwort:',response.status, response.reason

conn.close()
Zu der urllib2 hab ich grad kein Beispiel zur Hand, jedoch in der PyDoc hats welche, hier das was du suchst:

Code: Alles auswählen

import urllib2
req = urllib2.Request('http://www.example.com/')
req.add_header('Referer', 'http://www.python.org/')
r = urllib2.urlopen(req)
Den Rest der Beispiele findest du hier

Gruss
Antworten