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