pybotters.client.Client
- class pybotters.client.Client(apis: Optional[Union[dict[str, list[str]], str]] = None, base_url: str = '', **kwargs: Any)
HTTPリクエストクライアントクラス
注釈
引数 apis は省略できます。
- Example
async def main(): async with pybotters.Client(apis={'example': ['KEY', 'SECRET']}) as client: r = await client.get('https://...', params={'foo': 'bar'}) print(await r.json())
async def main(): async with pybotters.Client(apis={'example': ['KEY', 'SECRET']}) as client: wstask = await client.ws_connect( 'wss://...', send_json={'foo': 'bar'}, hdlr_json=pybotters.print_handler ) await wstask # Ctrl+C to break
Basic API
パッケージトップレベルで利用できるHTTPリクエスト関数です。 これらは同期関数です。 内部的にpybotters.Clientをラップしています。
- Example
r = pybotters.get( 'https://...', params={'foo': 'bar'}, apis={'example': ['KEY', 'SECRET']} ) print(r.text()) print(r.json())
pybotters.ws_connect( 'wss://...', send_json={'foo': 'bar'}, hdlr_json=pybotters.print_handler, apis={'example': ['KEY', 'SECRET']} ) # Ctrl+C to break
- パラメータ
apis -- APIキー・シークレットのデータ(optional) ex: {'exchange': ['key', 'secret']}
base_url -- リクエストメソッドの url の前方に自動付加するURL(optional)
**kwargs -- aiohttp.Client.requestに渡されるキーワード引数(optional)
Methods
__init__
([apis, base_url])- param apis
APIキー・シークレットのデータ(optional) ex: {'exchange': ['key', 'secret']}
close
()delete
(url, *[, data])get
(url, *[, params])post
(url, *[, data])put
(url, *[, data])request
(method, url, *[, params, data])- param method
GET, POST, PUT, DELETE などのHTTPメソッド
ws_connect
(url, *[, send_str, send_json, ...])- param url
WebSocket URL
- request(method: str, url: str, *, params: Optional[Mapping[str, str]] = None, data: Optional[Any] = None, **kwargs: Any) aiohttp.client._RequestContextManager
- パラメータ
method -- GET, POST, PUT, DELETE などのHTTPメソッド
url -- リクエストURL
params -- URLのクエリ文字列(optional)
data -- リクエストボディ(optional)
headers -- リクエストヘッダー(optional)
auth -- API自動認証の機能の有効/無効。デフォルトで有効。auth=Noneを指定することで無効になります(optional)
kwargs -- aiohttp.Client.requestに渡されるキーワード引数(optional)
- async ws_connect(url: str, *, send_str: Optional[Union[str, list[str]]] = None, send_json: Any = None, hdlr_str: Optional[WsStrHandler] = None, hdlr_json: Optional[WsJsonHandler] = None, **kwargs: Any) asyncio.Task
- パラメータ
url -- WebSocket URL
send_str -- WebSocketで送信する文字列。文字列、または文字列のリスト形式(optional)
send_json -- WebSocketで送信する辞書オブジェクト。辞書、または辞書のリスト形式(optional)
hdlr_str -- WebSocketの受信データをハンドリングする関数。 第1引数 msg に _str_型, 第2引数 ws にWebSocketClientResponse 型の変数が渡されます(optional)
hdlr_json -- WebSocketの受信データをハンドリングする関数。 第1引数 msg に Any 型(JSON-like), 第2引数 ws に WebSocketClientResponse 型の変数が渡されます (optional)
headers -- リクエストヘッダー(optional)
auth -- API自動認証の機能の有効/無効。デフォルトで有効。auth=Noneを指定することで無効になります(optional)
**kwargs -- aiohttp.ClientSession.ws_connectに渡されるキーワード引数(optional)