How do I set headers using python's urllib?

前端 未结 4 1780
逝去的感伤
逝去的感伤 2020-11-28 22:06

I am pretty new to python\'s urllib. What I need to do is set a custom header for the request being sent to the server. Specifically, I need to set the Content-type and Au

相关标签:
4条回答
  • 2020-11-28 22:46

    adding HTTP headers using urllib2:

    from the docs:

    import urllib2
    req = urllib2.Request('http://www.example.com/')
    req.add_header('Referer', 'http://www.python.org/')
    resp = urllib2.urlopen(req)
    content = resp.read()
    
    0 讨论(0)
  • 2020-11-28 22:46

    For multiple headers do as follow:

    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()
    
    0 讨论(0)
  • 2020-11-28 22:53

    Use urllib2 and create a Request object which you then hand to urlopen. http://docs.python.org/library/urllib2.html

    I dont really use the "old" urllib anymore.

    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()
    

    untested....

    0 讨论(0)
  • 2020-11-28 23:04

    For both Python 3 and Python 2, this works:

    try:
        from urllib.request import Request, urlopen  # Python 3
    except ImportError:
        from urllib2 import Request, urlopen  # Python 2
    
    req = Request('http://api.company.com/items/details?country=US&language=en')
    req.add_header('apikey', 'xxx')
    content = urlopen(req).read()
    
    print(content)
    
    0 讨论(0)
提交回复
热议问题