C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: フレーム付きのWEBページをダウンロード


(過去ログ 86 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■51351 / inTopicNo.1)  フレーム付きのWEBページをダウンロード
  
□投稿者/ TK (1回)-(2010/07/02(Fri) 18:10:12)

分類:[.NET 全般] 

HttpWebRequestとWebResponseを使用して、認証付きWEBページをダウンロードするプログラムを作っています。
認証は通り、サイト内にアクセスはできているのですが、フレーム対応のブラウザでないとエラーページに遷移(そのようにエラー表示されています)されてしまい困っています。

UserAgentで判定されているのかと思い、下記のように追記したのですがやはりエラーページに遷移してしまいます。
(UserAgentで指定したブラウザを使って実際にアクセスするとエラーページに遷移することなく正常に表示されました)

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.CookieContainer = cc;
req.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2)";

WebResponse res = req.GetResponse();

そこで質問なのですが、プログラム上でフレーム対応であるフリをさせることは可能なのでしょうか??
サーバープログラム側の判定方法によるのかもしれないんですけど、現状判定方法は分りません。

宜しくお願いします。

開発環境:VC#2008
引用返信 編集キー/
■51364 / inTopicNo.2)  Re[1]: フレーム付きのWEBページをダウンロード
□投稿者/ れい (945回)-(2010/07/02(Fri) 21:26:24)
No51351 (TK さん) に返信
> HttpWebRequestとWebResponseを使用して、認証付きWEBページをダウンロードするプログラムを作っています。
> 認証は通り、サイト内にアクセスはできているのですが、フレーム対応のブラウザでないとエラーページに遷移(そのようにエラー表示されています)されてしまい困っています。

WebRequestはリダイレクトされることはありますが、
勝手に遷移することはありません。

ですので、エラーページに遷移されるという現象が何を指すのかわかりません。

何をもって遷移されたと判断したのでしょうか?


> そこで質問なのですが、プログラム上でフレーム対応であるフリをさせることは可能なのでしょうか??
> サーバープログラム側の判定方法によるのかもしれないんですけど、現状判定方法は分りません。

フレーム対応かどうかをサーバー側が正しく判断することはできません。
ですので、クライアント側もフレーム対応であるよう振る舞うことはできません。
フレーム対応であるかのようにアクセスすることはできます。

引用返信 編集キー/
■51368 / inTopicNo.3)  Re[1]: フレーム付きのWEBページをダウンロード
□投稿者/ 渋木宏明 (13回)-(2010/07/02(Fri) 22:51:19)
渋木宏明 さんの Web サイト
> 認証は通り、サイト内にアクセスはできているのですが、フレーム対応のブラウザでないとエラーページに遷移(そのようにエラー表示されています)されてしまい困っています。

その「エラーページ」と言っているのが、noframes タグを含んだフレームページです。

フレームは複数の Web ページから構成されるものでなので、1回の HTTP リクエストで、人間の目に見えてるフレームページ全体のコンテンツを取得することはできません。

フレームページの中の frame タグの src 属性に書かれたリンクから下位コンテンツのリンクを取得して、何回もクロールする必要があります。



引用返信 編集キー/
■51395 / inTopicNo.4)  Re[2]: フレーム付きのWEBページをダウンロード
□投稿者/ TK (2回)-(2010/07/04(Sun) 12:55:23)
れいさん、返信ありがとうございます。

> 何をもって遷移されたと判断したのでしょうか?

取得したレスポンスデータをConsole.Writeで確認したところ、目的ページのHTMLタグではなく、専用のエラーページのHTMLタグ
が表示されました。
この専用エラーページには「フレーム対応ブラウザでなければ表示できません」とメッセージが書かれています。
この症状は特定のページ取得時に発生しているだけで、該当ページ以外は正しく動作しています。
そこで、リダイレクトされていると判断しています。
(すいません、遷移とリダイレクトはページが移動するという意味で同じことを言っているつもりでした。)

> フレーム対応かどうかをサーバー側が正しく判断することはできません。
> ですので、クライアント側もフレーム対応であるよう振る舞うことはできません。
> フレーム対応であるかのようにアクセスすることはできます。

今回、上記内容より、フレーム対応の何らかの判断をされているようです。
フレーム対応であるかのようにアクセスするにはどうすれば良いでしょうか??
引用返信 編集キー/
■51396 / inTopicNo.5)  Re[2]: フレーム付きのWEBページをダウンロード
□投稿者/ TK (3回)-(2010/07/04(Sun) 13:08:53)
No51368 (渋木宏明 さん) に返信

> その「エラーページ」と言っているのが、noframes タグを含んだフレームページです。
>
> フレームは複数の Web ページから構成されるものでなので、1回の HTTP リクエストで、人間の目に見えてるフレームページ全体のコンテンツを取得することはできません。
>
> フレームページの中の frame タグの src 属性に書かれたリンクから下位コンテンツのリンクを取得して、何回もクロールする必要があります。

ありがとうございます。やっと意味が分かりました。
おかげさまで無事下位コンテンツを取得することができました。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -