Example #1
0
    def test_session_persistent_headers(self):

        heads = {'User-agent': 'Mozilla/5.0'}

        s = Session()
        s.headers = heads
        # Make 2 requests from Session object, should send header both times
        r1 = s.get(httpbin('user-agent'))

        assert heads['User-agent'] in r1.content
        r2 = s.get(httpbin('user-agent'))

        assert heads['User-agent'] in r2.content
        self.assertEqual(r2.status_code, 200)
Example #2
0
    def test_session_persistent_headers(self):

        heads = {'User-agent': 'Mozilla/5.0'}

        s = Session()
        s.headers = heads
        # Make 2 requests from Session object, should send header both times
        r1 = s.get(httpbin('user-agent'))

        assert heads['User-agent'] in r1.content
        r2 = s.get(httpbin('user-agent'))

        assert heads['User-agent'] in r2.content
        self.assertEqual(r2.status_code, 200)
def main():

    s = Session()
    s.headers = {
        "Accept": "image/webp,image/apng,image/*,*/*;q=0.8",
        "Accept-Encoding": "gzip, deflate, br",
        "Accept-Language": "en-US,en;q=0.9",
        "Connection": "keep-alive",
        "Host": "iaaa.pku.edu.cn",
        "Upgrade-Insecure-Requests": "1",
        "User-Agent":
        "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/78.0.3904.97 Chrome/78.0.3904.97 Safari/537.36",
        "Referer":
        "https://iaaa.pku.edu.cn/iaaa/oauth.jsp?appID=portal2017&appName=%E5%8C%97%E4%BA%AC%E5%A4%A7%E5%AD%A6%E6%A0%A1%E5%86%85%E4%BF%A1%E6%81%AF%E9%97%A8%E6%88%B7%E6%96%B0%E7%89%88&redirectUrl=https://portal.pku.edu.cn/portal2017/ssoLogin.do",
        "Sec-Fetch-Mode": "no-cors",
        "Sec-Fetch-Site": "same-origin",
    }

    while True:

        try:
            r = s.get("https://iaaa.pku.edu.cn/iaaa/servlet/DrawServlet?Rand=",
                      timeout=TIMEOUT)
        except RequestException as e:
            print(e)
            time.sleep(ERROR_INTERVAL)
            continue

        filename = "%s.jpg" % md5(r.content)
        path = os.path.normpath(os.path.join(DOWNLOAD_DIR, filename))

        with open(path, "wb") as fp:
            fp.write(r.content)

        print("save captcha to %s" % path)

        time.sleep(INTERVAL)
Example #4
0
from py42.exceptions import Py42FeatureUnavailableError
from py42.exceptions import raise_py42_error
from py42.response import Py42Response
from py42.services._auth import C42RenewableAuth
from py42.settings import debug
from py42.util import format_dict

SESSION_ADAPTER = HTTPAdapter(pool_connections=200,
                              pool_maxsize=4,
                              pool_block=True)

ROOT_SESSION = Session()
ROOT_SESSION.mount(u"https://", SESSION_ADAPTER)
ROOT_SESSION.mount(u"http://", SESSION_ADAPTER)
ROOT_SESSION.headers = {
    u"Accept-Encoding": u"gzip, deflate",
    u"Connection": u"keep-alive",
}


class HostResolver(object):
    def get_host_address(self):
        raise NotImplementedError()


class KnownUrlHostResolver(HostResolver):
    def __init__(self, host_address):
        self._host_address = host_address

    def get_host_address(self):
        return self._host_address
Example #5
0
    for episode in result:
        download_link(session, episode)


def find_links(session, category, result):
    """Starts the find & download process for the given category
    """
    fetcher_method = '{}_links'.format(category['name'].lower())
    fetcher = globals()[fetcher_method]
    return fetcher(session, result)


if __name__ == '__main__':
    load_config()
    session = Session()
    session.headers = {
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36',
    }
    main_page(session)
    login(session)
    main_page(session)

    category = choose('category', CATEGORIES)
    query = ask('What do you want to search on {name}'.format(**category))

    results = search(session, category, query)
    result = choose('one', results)

    find_links(session, category, result)

Example #6
0
from py42.exceptions import raise_py42_error
from py42.response import Py42Response
from py42.services._auth import C42RenewableAuth
from py42.settings import debug
from py42.util import format_dict

SESSION_ADAPTER = HTTPAdapter(pool_connections=200,
                              pool_maxsize=4,
                              pool_block=True)

ROOT_SESSION = Session()
ROOT_SESSION.mount(u"https://", SESSION_ADAPTER)
ROOT_SESSION.mount(u"http://", SESSION_ADAPTER)
ROOT_SESSION.headers = {
    u"Accept": u"application/json",
    u"Content-Type": u"application/json",
    u"Accept-Encoding": u"gzip, deflate",
    u"Connection": u"keep-alive",
}


class HostResolver(object):
    def get_host_address(self):
        raise NotImplementedError()


class KnownUrlHostResolver(HostResolver):
    def __init__(self, host_address):
        self._host_address = host_address

    def get_host_address(self):
        return self._host_address