WebBrowserでの表示について


あちゃ  2009-09-28 05:10:53  No: 142571

初めまして。
只今、WebBrowserを使用し、社内でブラウザを開発しております。
それで表示するのは問題ないのですが
例えばブラウザで表示し、その後次のページを表示するとします。
その際にどこのページから今のページを見たのかをWEBサーバーに値を渡したいのですが
なかなかうまくいきません。
どなたかご教授頂ければ幸いです。

やりたい手順
ブラウザでサイトAを閲覧
次に
ブラウザでサイトBを閲覧
ここで表示した時にサイトAからきたということをWEBサーバー側に渡したい。
(渡したいのはWEBサーバーでログを取ってるので・・・)

今現在では
ブラウザでサイトAを閲覧
次に
ブラウザでサイトBを閲覧
するとサイトBを直接見たとしかWEBサーバーには返りません。

環境はVB6です。
宜しくお願い致します。


それは  2009-09-28 20:28:40  No: 142572

flagにRefererを設定するだけ。


  2009-09-28 21:26:51  No: 142573

>ここで表示した時にサイトAからきたということをWEBサーバー側に渡したい。
ここで言っているWEBサーバーとは、サイトBのWEBサーバーのことですか?
それとも独自(例えば社内)のWEBサーバーですか?


あちゃ  2009-09-28 21:47:12  No: 142574

それは様、あ様、ご返答有難う御座います。
それは様、Refererの設定でいけるんですね。
早速試してみます。
それから、あ様、WEBザーバーとは社内のWEBサーバーです。
そのサーバーでどこからきたのかを取得しておりますので
WebBrowserで値を渡したかったのです。
宜しくお願い致します。


あちゃ  2009-09-28 22:39:22  No: 142575

それは様、試してみたのですがうまく取得できなかったです。
ヘッダー部分に記載すればよいのでしょうか??
ひょっとして自分の書き方が間違ってるのでしょうか??
下記に記載しておきます。
再度ご教授頂ければ幸いです。
宜しくお願い致します。

Flags = 0
Headers = "Referer: http://www.google.co.jp/" & vbCrLf
WebBrowser.Navigate URL, Flags, , , Headers


魔界の仮面弁士  2009-09-28 22:58:21  No: 142576

> それは様、試してみたのですがうまく取得できなかったです。
まずは、状況を確認・整理してみてください。

現在の状況は、VB から Referer が送信されていないのでしょうか?
それとも Referer は送信されているのに、サーバー側で
受け取れない状態なのでしょうか? 

少なくとも、当方で

Private Sub Form_Load()
    Dim URL As String
    URL = "http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200909/09090020.txt"
    Dim Flags As Variant
    Flags = 0
    Dim Headers As String
    Headers = "Referer: http://www.google.co.jp/" & vbCrLf
    WebBrowser1.Navigate URL, Flags, , , Headers
End Sub

というコードを書いてみた場合、送出された HTTP リクエストは

> GET /MADIA/VBBBS2/wwwlng.cgi?print+200909/09090020.txt HTTP/1.1
> Accept: */*
> Referer: http://www.google.co.jp/
> Accept-Language: ja
> Accept-Encoding: gzip, deflate
> 以下略

のように、Referer ヘッダを含んだものが送出されましたよ。


あちゃ  2009-09-29 00:00:35  No: 142577

魔界の仮面弁士様ご教授有難う御座います。
再度試しましたところ問題なくRefererの値は出てました。
ただ、サイトAを見てそこに記載してるURLを手動で見ると問題なく取れてるのですが、サイトAを見た後、自動でWebBrowserで開くと取得できません。
何か違いかあるのでしょうか??
JavaScriptが関係してるとかあるのでしょうか??
お忙しい中申し訳御座いませんが宜しくお願い致します。


後だし...  2009-09-29 02:06:11  No: 142578

>自動でWebBrowserで開くと...
そういうことは質問の最初から書いておくべきこと。

JavaScriptで他に飛ばされる時に、
OnBeforeNavigate2イベントでHeaderを再設定してやれば?


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

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






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