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)