WEBBrowserで新しいウィンドウ開くときにクッキーが引き継がれるようにするには

解決


かっつん  2004-10-31 13:18:22  No: 86363

お世話になります。

WebBrowserコンポーネントを利用していますが、ページ中のリンクから新しいウィンドウが開かれたときに(IEのウィンドウ)、クッキー情報が引き継がれません。何か解決策はありませんか?


ひろ  2004-11-03 04:26:34  No: 86364

自分のPC上にWebサーバを設置している場合については経験があります。

http://127.0.0.1

にアクセスしていると新しいウィンドウに引き継がれない場合があります。
Windows Update のパッチの影響があるみたいですが詳細は不明です。

とりあえず、

http://自分のPCのホスト名

として、イントラネットゾーンのWebサーバとして認識させることで回避しています。


かっつん  2004-11-05 08:12:27  No: 86365

私の場合はちょっと違うようです。試しにYahooページをWebBrowserコンポーネントを貼り付けたVBフォームで表示してYahooにログインし、その状態で新しいウィンドウが開くとログインしていない状態になってしまいます。通常のIEで表示の場合はこんなことはないのですが...。


魔界の仮面弁士  2004-11-05 08:29:43  No: 86366

もしかして、新しいウィンドウを、規定の動作(IEが起動される)のままにしていませんか?
もしそうだとしたら、同一プロセス内で開かせる(ppDispに対して、自アプリ内の別のWebBrowserを割り当てる)ようにすると、セッションクッキーを引き継いでくれるかも知れませんよ。


かっつん  2004-11-14 06:11:21  No: 86367

時間がかかりましたが、ppDispに対して自アプリを指定するとクッキーが引き継がれました。
自アプリ間では引き継がれるようです。
しかし、目的はIEへの引継ぎなので、IEで起動する場合に引き継がれるようにしたいのですが方法はありますか?


魔界の仮面弁士  2004-11-15 19:33:17  No: 86368

アウトプロセスにてセッションクッキーを引き継ぐことは
できないように思えます。セキュリティホールになりかねないので。
無理に引き継ぐなら、WinSock等でローカルプロキシをたてて、
送受信時のCookieヘッダを書き換えれば、擬似的に引き継げるかも
しれませんが、これも、SSLを使用されるとどうしようもないかと。

処理が変わってしまいますが、WebBrowserオブジェクトを使わず、
最初から InternetExplorerオブジェクトで処理しては如何でしょう?
# InternetExplorerをWebBrowserのように見せかけるのは、
# 苦労するかも知れませんが…。


かっつん  2004-11-16 05:41:23  No: 86369

いろいろご助言ありがとうございます。現在業務画面でWebBrowserを利用しているので、新規画面にもWebBrowserを使ってみるようにします。
業務画面にInternetExplorerが貼り付けられれば良かったのですがそんな方法はないですもんね。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加