既存のRoboBrowserアプリケーションでは、プロキシの既定値を保持するRequestsセッションを渡します。

from requests import Session
from robobrowser import RoboBrowser

session = Session()
session.proxies.update({
    'http': 'http://proxy.example.net:8080',
    'https': 'http://proxy.example.net:8080',
})

browser = RoboBrowser(session=session, parser='html.parser')
browser.open('https://example.net/form')

HTTPプロキシ一覧は、プロキシ認証なしで許可された公開ページへのリクエストを行う際に、この既定値へアドレスを供給できます。RoboBrowserは自身のリクエストにこのセッションを使います。同じオブジェクトは、アプリケーションが遷移したりフォームを送信したりする間、Cookieやその他のRequests状態も保持します。セッションを渡さずに別のブラウザを作ると、別の既定Sessionが作成されます。

特定の操作では、RoboBrowserの公開インターフェースopen、follow_link、submit_formがプロキシオプションを含むリクエスト引数を受け付けます。既定値がすべての操作にとって望ましい経路でない場合、操作単位の選択が得られます。

Requestsには今も通常の環境マージ動作があります。セッションのプロキシをクライアントの既定値として扱い、操作が別のエンドポイントを選ぶ場合は競合する環境設定を確認してください。

関連記事