urllib2/requests and HTTP relative path

前端 未结 2 2010
迷失自我
迷失自我 2021-01-14 05:06

How can I force urllib2/requests modules to use relative paths instead of full/absolute URL??

when I send request using urllib2/requests I see in my proxy that it re

2条回答
  •  青春惊慌失措
    2021-01-14 05:37

    Probably the following code would do for your case:

    from urlparse import urljoin
    import requests
    
    class RelativeSession(requests.Session):
        def __init__(self, base_url):
            super(RelativeSession, self).__init__()
            self.__base_url = base_url
    
        def request(self, method, url, **kwargs): 
            url = urljoin(self.__base_url, url)
            return super(RelativeSession, self).request(method, url, **kwargs)
    
    session = RelativeSession('http://server.net')
    response = session.get('/rel/url')
    

提交回复
热议问题