問題タブ [cookiejar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
203 参照

python - curl を Cookie を含む Python リクエストに変換する

背景の詳細​​:

2FA の SSO を備えた内部サイトがあり、クライアント証明書も必要です。ジョブを送信するフォームがあります。CLIから実行してプロセスを自動化しようとしています。これまでのところ、curl を使用してジョブを送信できました。動作させるには、ブラウザ セッションから Cookie を抽出する必要があります。したがって、次のcurlコマンドは期待どおりに実行されています

curl -b cookies.txt -k --cert cert --key key -F 'field=value' url

私は今、同じものを Python requests 呼び出しに変換しようとしました。ただし、Cookie を取得していないようです。これは、SSO ログイン ページに移動するスクリプトの出力からわかります。ここに私がこれまでに持っているスクリプトがあります

私ができることから、すべてのcurlオプションを一致させました。しかし、前述のように、Cookie を無視しているようで、SSO を実行しようとします。これを実行する方法はありますか?他に何も機能しない場合は、サブプロセスを介してカールを実行する必要があります。しかし、Pythonリクエスト内でそれを実行したいと思います。

どんな助け/ヒントも大歓迎です。

0 投票する
0 に答える
156 参照

python - Pythonでhttp cookiejarにCookieを追加するのが難しいのはなぜですか? 私はいつも CookieError: Attempt to set a reserved key 'domain' で終わります

このトピックに関連して見つけたすべての質問を読みましたが、役に立たなかったり関連したものはありませんでした。

Asyncio と aiohttp で playwright を使用して、いくつかの Web ベースのタスクを自動化しています。そのワークフローの一部には、Cookie の取得と再利用が含まれます。私はプレイライトを使用context.storage_state()して、ストレージからすべてを取得します。dict次のように、ストレージ内のすべてを含む を返します。

を使用して Cookie を取得し、storage['cookies']それらをループして、それぞれを に追加しようとします。これは単なるオブジェクトaiohttp.CookieJar()であると確信しています。http.cookiejar.CookieJar()これらのdictの1つをCookieとしてCookie jarにロードしようとするたびに、

CookieError: Attempt to set a reserved key 'domain'

RFC2109 標準とソース コードを見てきました: https://github.com/python/cpython/blob/3.9/Lib/http/cookies.py

何を試してもエラーが発生します。

私が試してみました:

また、Cookie dict からすべての「予約済み」キーを削除しようとしましたが、それが Cookie のデータの大部分です。実際の Cookie を Cookie jar にロードすることはできません。私はHTTP cookie.pyのソースコードとドキュメントを読みましたが、私がしていることの何が問題なのかを説明できる限り、そこには何もありません。

セッションを介さずに Cookie jar オブジェクトに Cookie をロードできた人はいますか?