python istek modülüne başlık eklemek


110

Daha önce httplib, isteğe bir başlık eklemek için modülü kullandım . Şimdi aynı şeyi requestsmodül için deniyorum .

Bu, kullandığım python istek modülü: http://pypi.python.org/pypi/requests

Nasıl bir başlık ekleyebilir request.postve request.getben eklemek zorunda söylemek foobarbaşlığında her istek anahtar.


Yanıtlar:


192

Gönderen http://docs.python-requests.org/en/latest/user/quickstart/

url = 'https://api.github.com/some/endpoint'
payload = {'some': 'data'}
headers = {'content-type': 'application/json'}

r = requests.post(url, data=json.dumps(payload), headers=headers)

Sadece başlıklarınızla bir dikt oluşturmanız gerekir (anahtar: anahtarın başlığın adı ve değerin çiftin değeri olduğu değer çiftleri) ve bu dikteyi .getveya .postyöntemindeki başlıklar parametresine iletmeniz yeterlidir .

Sorunuz için daha spesifik:

headers = {'foobar': 'raboof'}
requests.get('http://himom.com', headers=headers)

2
Gönderdiğiniz ve / veya geri aldığınız yanıtı görmek faydalı olabilir. Göre Taleplerin Gelişmiş Kullanım dokümanlar , kullanım r.headerssunucu geri gönderir başlıkları erişmek ve r.request.headerssunucuya gönderiyor başlıkları görüntülemeye.
harperville

46

Bunu, Session nesnesine ilişkin gelecekteki tüm alımlar için bir başlık ayarlamak için de yapabilirsiniz; burada x-test, tüm s.get () çağrılarında olacaktır:

s = requests.Session()
s.auth = ('user', 'pass')
s.headers.update({'x-test': 'true'})

# both 'x-test' and 'x-test2' are sent
s.get('http://httpbin.org/headers', headers={'x-test2': 'true'})

from: http://docs.python-requests.org/en/latest/user/advanced/#session-objects

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.