Python aiohttp() Examples
The following are 30
code examples of aiohttp().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
aiohttp
, or try the search function
.
Example #1
Source File: watchlists.py From tastyworks_api with Apache License 2.0 | 6 votes |
def load_watchlists(self): request_url = '{}/public_watchlists?include_synthetic=true'.format( BASE_URL ) async with aiohttp.request('GET', request_url) as resp: if resp.status != 200: raise Exception('Could not get public asset watchlists') data = await resp.json() data = data['public_watchlists'] for entry in data: list_data = entry['entries'] wlist = Watchlist.from_list(list_data) wlist.name = entry['name'] wlist.slug = entry['slug'] self.watchlists[wlist.slug] = wlist return self
Example #2
Source File: jjc_consult.py From yobot with GNU General Public License v3.0 | 6 votes |
def update_nicknames(self): nickfile = os.path.join(self.setting["dirname"], "nickname3.csv") try: async with aiohttp.request('GET', self.Nicknames_csv) as resp: if resp.status != 200: raise ServerError( "bad server response. code: "+str(resp.status)) restxt = await resp.text() with open(nickfile, "w", encoding="utf-8-sig") as f: f.write(restxt) except aiohttp.ClientError as e: raise RuntimeError('错误'+str(e)) with open(nickfile, encoding="utf-8-sig") as f: csv = f.read() for line in csv.split("\n")[1:]: row = line.split(",") for col in row: self.nickname_dict[col] = (row[0], row[1])
Example #3
Source File: adminpanel.py From homeassistant-zigate with MIT License | 6 votes |
def _handle_request(self, method, request, requested_url): """Handle proxy requests.""" requested_url = requested_url or "/" headers = request.headers.copy() headers["Host"] = request.host headers["X-Real-Ip"] = request.remote headers["X-Forwarded-For"] = request.remote headers["X-Forwarded-Proto"] = request.scheme post_data = await request.read() async with aiohttp.request( method, self.proxy_url + requested_url, params=request.query, data=post_data, headers=headers, ) as resp: content = await resp.read() headers = resp.headers.copy() return aiohttp.web.Response( body=content, status=resp.status, headers=headers )
Example #4
Source File: hubot.py From hangoutsbot with GNU Affero General Public License v3.0 | 6 votes |
def _send_to_external_chat(self, bot, event, config): if event.from_bot: # don't send my own messages return event_timestamp = event.timestamp conversation_id = event.conv_id conversation_text = event.text user_full_name = event.user.full_name user_id = event.user_id url = config["HUBOT_URL"] + conversation_id payload = {"from" : str(user_id.chat_id), "message" : conversation_text} headers = {'content-type': 'application/json'} connector = aiohttp.TCPConnector(verify_ssl=False) asyncio.ensure_future( aiohttp.request('post', url, data = json.dumps(payload), headers = headers, connector=connector) ).add_done_callback(lambda future: future.result())
Example #5
Source File: flags3_asyncio.py From example-code with MIT License | 6 votes |
def http_get(url): res = yield from aiohttp.request('GET', url) if res.status == 200: ctype = res.headers.get('Content-type', '').lower() if 'json' in ctype or url.endswith('json'): data = yield from res.json() # <1> else: data = yield from res.read() # <2> return data elif res.status == 404: raise web.HTTPNotFound() else: raise aiohttp.errors.HttpProcessingError( code=res.status, message=res.reason, headers=res.headers)
Example #6
Source File: flags2_asyncio_executor.py From example-code with MIT License | 6 votes |
def get_flag(base_url, cc): url = '{}/{cc}/{cc}.gif'.format(base_url, cc=cc.lower()) resp = yield from aiohttp.request('GET', url) with contextlib.closing(resp): if resp.status == 200: image = yield from resp.read() return image elif resp.status == 404: raise web.HTTPNotFound() else: raise aiohttp.HttpProcessingError( code=resp.status, message=resp.reason, headers=resp.headers) # BEGIN FLAGS2_ASYNCIO_EXECUTOR
Example #7
Source File: xkcd.py From hangoutsbot with GNU Affero General Public License v3.0 | 6 votes |
def _search_comic(bot, event, terms): request = yield from aiohttp.request('get', "https://relevantxkcd.appspot.com/process?%s" % urllib.parse.urlencode({ "action": "xkcd", "query": " ".join(terms), })) raw = yield from request.read() values = [row.strip().split(" ")[0] for row in raw.decode().strip().split("\n")] weight = float(values.pop(0)) values.pop(0) # selection - ignore? comics = [int(i) for i in values] num = comics.pop(0) msg = 'Most relevant xkcd: #%d (relevance: %.2f%%)\nOther relevant comics: %s' % (num, weight*100, ", ".join("#%d" % i for i in comics)) # get info and upload image if necessary yield from _get_comic(bot, num) yield from bot.coro_send_message(event.conv.id_, msg) yield from _print_comic(bot, event, num)
Example #8
Source File: test_aiowebsocket.py From Flask-aiohttp with MIT License | 6 votes |
def test_request_hook(app: Flask, aio: AioHTTP): """Test for Flask request hook""" @app.before_request def before_request(): request.foo = [] request.foo.append('a') @app.after_request def after_request(response): request.foo.append('c') return response @app.teardown_request def teardown_request(exc): request.foo.append('d') @app.route('/hook') @async def hook(): request.foo.append('b') return ''.join(request.foo) with Server(app, aio) as server: assert 'ab' == server.get('/hook')
Example #9
Source File: Bing.py From webbies with MIT License | 6 votes |
def __process(self,request): for i in request['d']['results']: url = i['Url'].encode('ascii','ignore').decode() self.uniq_urls.add(url) up = urlparse(url) x = up.netloc if not x.count(':'): if up.scheme == "https": x+=":443" else: x+=":80" self.uniq_hosts.add(x) if len(request['d']['results']) < self.parameters['$top']: return False else: return True
Example #10
Source File: Bing.py From webbies with MIT License | 6 votes |
def search(self,query,page): params = { "Query":query, "$skip": self.parameters["$top"] * page } params.update(self.parameters) try: r = yield from aiohttp.request( 'get', self.url, params=params, headers=self.headers ) results = yield from r.json() yield from self.__process(results) except aiohttp.ClientError as client_error: print("Error: {emsg}".format(emsg=client_error))
Example #11
Source File: antiqks.py From HoshinoBot with GNU General Public License v3.0 | 6 votes |
def qks_rex(bot, ev): match = ev.match msg = f'骑空士爪巴远点\n{qksimg}' res = 'http://'+match.group(0) async with aiohttp.TCPConnector(verify_ssl=False) as connector: async with aiohttp.request( 'GET', url=res, allow_redirects=False, connector=connector, ) as resp: h = resp.headers s = resp.status if s == 301 or s == 302: if 'granbluefantasy.jp' in h['Location']: await bot.send(ev, msg, at_sender=True) await util.silence(ev, 60)
Example #12
Source File: trading_account.py From tastyworks_api with Apache License 2.0 | 6 votes |
def get_balance(session, account): """ Get balance. Args: session (TastyAPISession): An active and logged-in session object against which to query. account (TradingAccount): The account_id to get balance on. Returns: dict: account attributes """ url = '{}/accounts/{}/balances'.format( session.API_url, account.account_number ) async with aiohttp.request('GET', url, headers=session.get_request_headers()) as response: if response.status != 200: raise Exception('Could not get trading account balance info from Tastyworks...') data = (await response.json())['data'] return data
Example #13
Source File: flags3_asyncio.py From notebooks with MIT License | 6 votes |
def http_get(url): res = yield from aiohttp.request('GET', url) if res.status == 200: ctype = res.headers.get('Content-type', '').lower() if 'json' in ctype or url.endswith('json'): data = yield from res.json() # <1> else: data = yield from res.read() # <2> return data elif res.status == 404: raise web.HTTPNotFound() else: raise aiohttp.errors.HttpProcessingError( code=res.status, message=res.reason, headers=res.headers)
Example #14
Source File: trading_account.py From tastyworks_api with Apache License 2.0 | 6 votes |
def get_positions(session, account): """ Get Open Positions. Args: session (TastyAPISession): An active and logged-in session object against which to query. account (TradingAccount): The account_id to get positions on. Returns: dict: account attributes """ url = '{}/accounts/{}/positions'.format( session.API_url, account.account_number ) async with aiohttp.request('GET', url, headers=session.get_request_headers()) as response: if response.status != 200: raise Exception('Could not get open positions info from Tastyworks...') data = (await response.json())['data']['items'] return data
Example #15
Source File: trading_account.py From tastyworks_api with Apache License 2.0 | 6 votes |
def get_history(session, account): """ Get live Orders. Args: session (TastyAPISession): An active and logged-in session object against which to query. account (TradingAccount): The account_id to get history on. Returns: dict: account attributes """ url = '{}/accounts/{}/transactions'.format( session.API_url, account.account_number ) async with aiohttp.request('GET', url, headers=session.get_request_headers()) as response: if response.status != 200: raise Exception('Could not get history info from Tastyworks...') data = (await response.json())['data'] return data
Example #16
Source File: flags2_asyncio_executor.py From notebooks with MIT License | 6 votes |
def get_flag(base_url, cc): url = '{}/{cc}/{cc}.gif'.format(base_url, cc=cc.lower()) resp = yield from aiohttp.request('GET', url) with contextlib.closing(resp): if resp.status == 200: image = yield from resp.read() return image elif resp.status == 404: raise web.HTTPNotFound() else: raise aiohttp.HttpProcessingError( code=resp.status, message=resp.reason, headers=resp.headers) # BEGIN FLAGS2_ASYNCIO_EXECUTOR
Example #17
Source File: test_aiowebsocket.py From Flask-aiohttp with MIT License | 5 votes |
def request(self, method, path, params=None): r = urllib.request.Request(self.url(path, **params), method=method.upper()) with urllib.request.urlopen(r) as response: return response.readall().decode('utf-8')
Example #18
Source File: jjc_consult.py From yobot with GNU General Public License v3.0 | 5 votes |
def search_pcrdfans_async(self, def_lst: list, region: int) -> List[Solution]: authorization = self.setting['jjc_auth_key'] if not authorization: raise RuntimeError('未授权,无法查询') id_list = [int(char_id) * 100 + 1 for (char_id, _) in def_lst] headers = { 'user-agent': 'yobot', 'authorization': authorization, } payload = {"_sign": "a", "def": id_list, "nonce": "a", "page": 1, "sort": 1, "ts": int(time.time()), "region": region} try: async with aiohttp.request( 'POST', 'https://api.pcrdfans.com/x/v1/search', headers=headers, json=payload, ) as resp: restxt = await resp.text() except aiohttp.ClientError as e: raise RuntimeError('错误'+str(e)) try: search = json.loads(restxt) except json.JSONDecodeError: raise RuntimeError('服务器错误,请稍后再试') if search['code']: raise RuntimeError(f'查询请求被拒绝,返回值{search["code"]}') result = search['data']['result'] return list(map(self._parse_pcrdfans_team, result))
Example #19
Source File: scraper_thread.py From mp with Apache License 2.0 | 5 votes |
def fetch_async(a): async with aiohttp.request('GET', URL.format(a)) as r: data = await r.json() return data['args']['a']
Example #20
Source File: scraper_thread.py From mp with Apache License 2.0 | 5 votes |
def fetch_async(a): async with aiohttp.request('GET', URL.format(a)) as r: data = await r.json() return data['args']['a']
Example #21
Source File: semaphore.py From mp with Apache License 2.0 | 5 votes |
def fetch_async(a): async with aiohttp.request('GET', URL.format(a)) as r: data = await r.json() return data['args']['a']
Example #22
Source File: test_lib_async.py From fhir-py with MIT License | 5 votes |
def test_create_bundle(self): bundle = { 'resourceType': 'bundle', 'type': 'transaction', 'entry': [ { 'request': { 'method': 'POST', 'url': '/Patient' }, 'resource': { 'id': 'bundle_patient_1', 'identifier': self.identifier, } }, { 'request': { 'method': 'POST', 'url': '/Patient' }, 'resource': { 'id': 'bundle_patient_2', 'identifier': self.identifier, } }, ], } await self.create_resource('Bundle', **bundle) await self.client.resources('Patient').search( _id='bundle_patient_1' ).get() await self.client.resources('Patient').search( _id='bundle_patient_2' ).get()
Example #23
Source File: scraper_thread.py From mp with Apache License 2.0 | 5 votes |
def fetch_async(a): async with aiohttp.request('GET', URL.format(a)) as r: data = await r.json() return a, data['args']['a']
Example #24
Source File: scraper_process.py From mp with Apache License 2.0 | 5 votes |
def fetch_async(a): async with aiohttp.request('GET', URL.format(a)) as r: data = await r.json() return data['args']['a']
Example #25
Source File: scraper_process.py From mp with Apache License 2.0 | 5 votes |
def fetch_async(a): async with aiohttp.request('GET', URL.format(a)) as r: data = await r.json() return a, data['args']['a']
Example #26
Source File: observer_async.py From Software-Architecture-with-Python with MIT License | 5 votes |
def callback(self, channel, data): """ Callback method """ # The data is a URL url = data # We return the response immediately print('Fetching URL',url,'...') future = aiohttp.request('GET', url) self.futures.append(future) return future
Example #27
Source File: updater.py From yobot with GNU General Public License v3.0 | 5 votes |
def linux_update_async(self, force: bool = False, test_ver: int = 0): if self.evn == "linux-exe": return "Linux 便携版暂时无法自动更新" test_version = ["stable", "beta", "alpha"][test_ver] pullcheck = self.check_commit(force) if pullcheck is not None: return pullcheck for url in self.ver["check_url"]: try: async with aiohttp.request('GET', url=url) as response: if response.status == 200: res = await response.text() server_available = True break except: continue if not server_available: return "无法连接服务器" verinfo = json.loads(res) verinfo = verinfo[test_version] if not (force or verinfo["version"] > self.ver["ver_id"]): return "已经是最新版本" git_dir = os.path.dirname(os.path.dirname(self.working_path)) os.system(f'cd "{git_dir}" ; git pull') open('.YOBOT_RESTART', 'w').close() sys.exit(10)
Example #28
Source File: app.py From Flask-aiohttp with MIT License | 5 votes |
def api(): response = yield from aiohttp.request( 'GET', 'https://graph.facebook.com/zuck') data = yield from response.read() return data
Example #29
Source File: updater.py From yobot with GNU General Public License v3.0 | 5 votes |
def windows_update_git_async(self, force: bool = False, test_ver: int = 0): test_version = ["stable", "beta", "alpha"][test_ver] pullcheck = self.check_commit(force) if pullcheck is not None: return pullcheck server_available = False for url in self.ver["check_url"]: try: async with aiohttp.request('GET', url=url) as response: if response.status == 200: res = await response.text() server_available = True break except: continue if not server_available: return "无法连接服务器" verinfo = json.loads(res) verinfo = verinfo[test_version] if not (force or verinfo["version"] > self.ver["ver_id"]): return "已经是最新版本" git_dir = os.path.dirname(os.path.dirname(self.working_path)) cmd = ''' cd '{}' taskkill /pid {} /f git pull ping 127.0.0.1 -n 3 >nul powershell Start-Process -FilePath "python.exe" -ArgumentList '{}' '''.format(self.path, os.getpid(), os.path.join(self.working_path, "main.py")) with open(os.path.join(git_dir, "update.bat"), "w") as f: f.write(cmd) os.system("powershell Start-Process -FilePath '{}'".format( os.path.join(git_dir, "update.bat"))) sys.exit()
Example #30
Source File: jjc_consult.py From yobot with GNU General Public License v3.0 | 5 votes |
def search_nomae_async(self, def_lst: list, region: int) -> List[Solution]: if region == 2 or region == 3: raise RuntimeError('当前搜索模式下无法执行此类查询') headers = { 'User-Agent': ('Mozilla/5.0 (Windows NT 10.0; Win64; x64) ' 'AppleWebKit/537.36 (KHTML, like Gecko) ' 'Chrome/78.0.3904.87 Safari/537.36'), 'X-From': 'https://nomae.net/arenadb/', 'Authority': 'nomae.net', } req = aiohttp.FormData() req.add_field('type', 'search') req.add_field('userid', 0) req.add_field('public', 1) for _, jpname in def_lst: req.add_field('def[]', jpname) req.add_field('page', 0) req.add_field('sort', 0) retry = 2 while retry >= 0: retry -= 1 try: async with aiohttp.request( 'POST', 'https://nomae.net/princess_connect/public/_arenadb/receive.php', headers=headers, data=req) as resp: restxt = await resp.text() except aiohttp.ClientError as e: raise RuntimeError('错误'+str(e)) try: receive = json.loads(restxt) except json.JSONDecodeError: continue return list(map(self._parse_nomae_team, receive)) raise RuntimeError('服务器错误,请稍后再试')