4

PerlでWebフローの一部を実行してから、残りのセッションをFirefoxに転送することは可能ですか?
時々500を返すWebサイトに(Perlで)ログインを再試行する必要があります。ログインが成功すると、認証されたセッションをFirefoxに転送し、そこから通常のブラウジングを続行できます。これは可能ですか?
これが可能な場合、どうすればよいですか?Cookie/セッションなどを転送する方法に関するリソースを教えてください。

4

2 に答える 2

6

私には、Firefoxの内部からすべてを実行し、外部からそれを制御する方が理にかなっているようです。MozRepl(FF拡張機能)とMozRepl(Perlモジュール)は、そこに到達するのに役立つ場合があります。

于 2009-12-12T19:29:38.057 に答える
2

トリッキー。サーバーをサードパーティのサービスにログインさせてから、セッションCookieをユーザーに提供し、ユーザーをサードパーティのアプリにリダイレクトすることはできません。Cookieはドメイン固有であり、ドメインは別のドメインからのCookieまたは別のドメインによって設定されたCookieにアクセスできないため、これは機能しません。

したがって、サービスはサードパーティサービスへのインターフェイスとして機能する必要があり、そのため、サーバー上でユーザーセッションを維持する必要があります。このユーザーセッションは、ユーザーを追跡し、サードパーティのサービスにログインし、必要に応じてサードパーティのサービスにリクエストを送信します。サーバー上のセッションは、このサードパーティサービスのhttpクライアントになるため、Cookieを正しく処理できる必要があります。つまり、ブラウザを模倣する必要があります。

ユーザーセッションの設定と維持に関しては、これを支援するためのCPANモジュールがいくつかあります。

Perlでのユーザーセッションの管理の詳細については、を参照してください。https://web.archive.org/web/1/http://articles.techrepublic%2ecom%2ecom/5100-10878_11-1044683.html

編集:一部のWebサービスは、クライアントがCookieを拒否したときに、URLにセッションIDを挿入することでユーザーセッションを管理できます。サードパーティのサービスがこれを行う場合は、ログイン応答URLをユーザーへのリダイレクトとして提供することができます。ただし、セッションがIPにバインドされている場合、これは機能しなくなります。

于 2009-12-12T15:41:21.263 に答える