मैं पाइथन के urllib के लिए काफी नया हूँ। मुझे सर्वर पर भेजे जाने वाले अनुरोध के लिए कस्टम हेडर सेट करने की आवश्यकता है। विशेष रूप से, मुझे सामग्री-प्रकार और प्राधिकरण शीर्षलेख सेट करने की आवश्यकता है। मैंने अजगर दस्तावेज में देखा है, लेकिन मैं इसे खोजने में सक्षम नहीं हूं।मैं पाइथन के urllib का उपयोग कर हेडर सेट कैसे करूं?
42
A
उत्तर
63
urllib2 का उपयोग कर HTTP हेडर जोड़ने: डॉक्स से
:
import urllib2
req = urllib2.Request('http://www.example.com/')
req.add_header('Referer', 'http://www.python.org/')
resp = urllib2.urlopen(req)
content = resp.read()
9
urllib2 का उपयोग करें और एक अनुरोध ऑब्जेक्ट बनाएं जिसे आप urlopen पर सौंप दें। http://docs.python.org/library/urllib2.html
मैं वास्तव में अब "पुरानी" urllib का उपयोग नहीं करता हूं।
req = urllib2.Request("http://google.com", None, {'User-agent' : 'Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5'})
response = urllib2.urlopen(req).read()
अपरीक्षित ....
41
दोनों अजगर 3 और अजगर 2 के लिए, यह काम करता है:
try:
from urllib.request import Request, urlopen # Python 3
except ImportError:
from urllib2 import Request, urlopen # Python 2
q = Request('http://api.company.com/items/details?country=US&language=en')
q.add_header('apikey', 'xxx')
a = urlopen(q).read()
print(a)
1
कई हेडर के लिए इस प्रकार कार्य करें:
import urllib2
req = urllib2.Request('http://www.example.com/')
req.add_header('param1', '212212')
req.add_header('param2', '12345678')
req.add_header('other_param1', 'sample')
req.add_header('other_param2', 'sample1111')
req.add_header('and_any_other_parame', 'testttt')
resp = urllib2.urlopen(req)
content = resp.read()
हम अनुरोध q.add_header साथ एक ही बात कर सकते हैं ('apikey', 'xxx') – user3378649
आपका क्या मतलब है, @ user3378649? –
@ user3378649 का मतलब है कि आप 'अनुरोध' पायथन पैकेज [कस्टम हेडर] (http://docs.python-requests.org/en/master/user/quickstart/#custom-headers) का उपयोग कर सकते हैं – WeizhongTu