पाइथन अनुरोध मॉड्यूल में हेडर जोड़ना


109

पहले मैंने httplibअनुरोध में हेडर जोड़ने के लिए मॉड्यूल का उपयोग किया था । अब मैं requestsमॉड्यूल के साथ भी यही कोशिश कर रहा हूं ।

यह अजगर अनुरोध मॉड्यूल है जिसका मैं उपयोग कर रहा हूं: http://pypi.python.org/pypi/requests

मैं हेडर को कैसे जोड़ सकता हूं request.postऔर request.getकह सकता हूं कि मुझे foobarहेडर में प्रत्येक अनुरोध में कुंजी जोड़ना है ।


जवाबों:


189

से 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)

आपको बस अपने हेडर के साथ एक तानाशाही बनाने की जरूरत है (कुंजी: मूल्य जोड़े जहां कुंजी हेडर का नाम है और मूल्य है, ठीक है, जोड़ी का मूल्य) और उस कमांड को हेडर पैरामीटर .getया .postविधि पर पास करें।

तो आपके प्रश्न के लिए और अधिक विशिष्ट:

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

2
यह आपके द्वारा भेजे गए जवाब को देखने और वापस पाने में मददगार हो सकता है। अनुरोध उन्नत उपयोग डॉक्स के अनुसार , r.headersसर्वर हेडर को वापस r.request.headersभेजने के लिए उपयोग करता है और सर्वर को आपके द्वारा भेजे जा रहे हेडर को देखने के लिए।
harperville

45

आप सत्र ऑब्जेक्ट के लिए सभी भविष्य के लिए हेडर सेट करने के लिए भी ऐसा कर सकते हैं, जहां एक्स-टेस्ट सभी s.get () कॉल में होगा:

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'})

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.