async def fetch(client, url, proxy, params, timeout=15): with async_timeout.timeout(timeout): try: headers = {'user-agent': await get_random_user_agent()} async with client.get(url, headers=headers, proxy=proxy, params=params, timeout=timeout) as response: assert response.status == 200 logger.info(type='Request success!', message='Task url: {}'.format(response.url)) try: text = await response.text() except: text = await response.read() return text except Exception as e: logger.exception(type='Request failed!', message=url) return None
async def api_get(request): valid = request.args.get('valid', 1) try: speed, res_dict = await get_random_proxy(request, valid) if speed is not None: result = { 'status': 1, 'info': res_dict, 'msg': 'success', 'speed': speed } else: result = { 'status': -1, 'msg': '查询失败,请重试', } except Exception as e: logger.exception(type='/get', message=str(e)) result = { 'status': -1, 'msg': '查询出错', } return json(result)