• ベストアンサー

[ASP]指定したURLのソースを表示したい。

指定したURLのHTMLソースを表示するようにしたいのですが、やり方がよく分かりません。 GET http://www.yahoo.co.jp/index.html HTTP/1.1 ...といったリクエスト要求を80番ポートに送信して、その結果を表示すればいい。。。と思いましたが、ASPでどのようにプログラミングすればいいのか分かりませんでした。 以下のようなソースにしようとおもっています。ご存知な方、ご教授おねがいします。 <html> <head><title>result</title></head> <body> <pre> <% 'ここにHTMLソースを表示するプログラムを書く... %> </pre> </body> </html>

質問者が選んだベストアンサー

  • ベストアンサー
  • shamuni
  • ベストアンサー率100% (1/1)
回答No.4

つい最近、そんなプログラムを作りました。 取得自体は既出のXMLHttpでOKですが、取得したデータはバイナリになっているので、バイナリを変換する必要があります。 以下のサンプルコードを試してみてください。 #ソース Function GetHtmlPage() Const adTypeBinary = 1 Const adTypeText = 2 Dim oHttpReq, oStream Dim sText Set oHttpReq = Server.CreateObject("MSXML2.ServerXMLHTTP.3.0") oHttpReq.Open "POST", "http://xxxx.ne.jp", False oHttpReq.Send Set oStream = Server.CreateObject("ADODB.Stream") oStream.Open oStream.Type = adTypeBinary oStream.Write oHttpReq.ResponseBody oStream.Position = 0 oStream.Type = adTypeText oStream.Charset = "Shift-JIS" sText = oStream.ReadText oStream.Close GetResult = sText End Function #ここまで 動きとしてはHTMLを取得しようとしているサーバーにクライアントと同様なHTTP Requestを発行するだけです。 ただ、画像なんかがローカルパス指定の場合は表示されないので、その辺の加工がひつようです。

その他の回答 (3)

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.3

とりあえずSJIS <--> ユニコード は下のURLの関数を使って変換してみてください。 http://www.interq.or.jp/student/exeal/dss/ref/vbscript/function/string.html

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.2

ソケットを使用する方法もありますがXMLHttpRequestを使ってもできるかもしれません。(動作未確認) <% Set objHttp = CreateObject("Microsoft.XMLHttp") objHttp.Open "GET", "http://www.yahoo.co.jp/index.html", False objHttp.Send Response.Write objHttp.ResponseText %>

worldwalk
質問者

補足

回答ありがとうございます。 上記のように試してみたところ、ソースを表示することができましたが、文字化けしてしまいました(UTF-8?)。 文字コードをShift-Jisに変換したいのですが、ご存知でしたらご教授おねがいします。

  • Gimli
  • ベストアンサー率47% (9/19)
回答No.1

BASP21 の W3get メソッドを使用するのはどうですか。一旦ファイルに保存されますけど。 保存できたらファイルシステムオブジェクトを使って読み取って、それが終わったら削除(不要な場合)、とするのはどうですか。

関連するQ&A

  • ASPが動かない

    こんにちはASPが動かないので、どなたかHELP下さい。 以前はNT 4.0+IIS4で取り合えずASPは動いていたのですが Win2000 + IIS 5.0に再インストールしてから動作しなくなりました。 ASPのファイルを見るとASPのアイコンにならないことからASPがインス トールされていないのかなと思いつつ調べていますが判りません  こんなのも動かない    ↓ <html> <head> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=shift_jis"> <title>List 3.1</title> </head> <body> <!-- ここはコメントです --> <% Response.Write "一般的なHTMLです" %><br> </body> </html>

  • フレーム内容が表示されない

    下記のようなページを読み込んだときに、フレームの内容が表示されません。ログを見ると、index.aspのみが読み込まれており、フレーム内のファイルが読み込まれていません。試しに全てをhtmlファイルにして読み込んでもNGでした。フレームをなくしてみるとindex.aspの内容は表示されます。ue.asp、sita.aspのファイルを内容はそのままで新規ファイルに置き換えてみると、たまに表示されます。表示・非表示の場合の規則性はありません。2つのファイルは、共に「うえ」「した」とbodyにテキスト表示しているだけです。 もしかすると、フレームタグ内の単純な書きミスなのかもしれないのですが、リファレンスと比べても違う箇所が分りません。ご教授お願いします。 作成は、VisualStudio6.0。表示検証は、IE6です。 <index.asp> <HTML> <HEAD> <% Response.AddHeader "Pragma", "no-cache" Response.AddHeader "Cache-control", "no-cache" %> <META HTTP-EQUIV="Content-Type" Content="text/html; charset=x-sjis"> <TITLE>new</TITLE> </HEAD> <body> <frameset rows="60,*"> <frame src="ue.asp" name="title" frameborder="0"> <frame src="sita.asp" name="body" frameborder="0"> </frameset> </BODY> </HTML>

  • このソースどういう意味ですか【JavaScript】

    <HTML> <HEAD> <TITLE>JavaScript Sample</TITLE> <META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript"> </HEAD> <BODY> : <INPUT TYPE="button" VALUE="OK" onClick="~"> : </BODY> </HTML> このソースの中の <META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript"> の部分ってどういう意味ですか? 特にTypeとHTTP-EQUIVの部分については個別で詳しく知りたいです。 回答よろしくお願いします。

  • Javascriptで表示のページをPHPで読む

    Javascriptを使って表示されているウェブのコンテンツをPHPで読み込む方法について教えてください。 HTMLで作られている場合は「file_get_contents」でHTMLソースを取得できますが、Javascriptを使って表示されたページのソースを読み込むにはどのようにしたらよいのでしょうか。 読み込みたいページは下記のような構造になっています。 <html> <head> </head> <body> <h2>タイトル</h2> //ここのコンテンツ部分がJavascriptをONにしないと見えない。 </body> </html>

    • ベストアンサー
    • PHP
  • XAMPP1.7.1上でPHPを実行するとソースが表示されます。

    いつも、お世話になっております。 小生、只今WindowsXPSP3上でXAMPP1.7.1を使い、PHPプログラミングを勉強しているPHP初心者です。 今回質問させて頂きたいのは、 HTMLで作成したページから、PHPで作成したページに遷移する際、 PHPで作成したページに、PHPのソースが表示されてしまいます。 詳しくご説明させて頂きますと、以下の様になります。 1・HTMLで入力フォーム、表示ボタンを作成。 2・入力フォームにデータを入力、表示ボタンを押下。 3・PHPで作成したページに遷移、本来HTMLで入力されたデータが表示されるはずなのに、PHPソースが表示される。 以上です。 以下にHTMLソース、PHPソースを提示させて頂きます。 -----HTML----- <html> <head> <title>ビールの値段</title> </head> <body> <form action="source.php" method="post"> お名前 : <input type="text" name="YourName"><br> ビールの値段: <input type="text" name="PriceOfBeer"><br> 本数: <input type="text" name="AmountOfBeer"><br> <input type="submit" value="計算"> </form> </bodyまた、> </html> -----PHP----- <?php $Today = date("Y年m月d日"); ?> <html> <head> <title>ビールの値段計算結果</title> </head> <body> <?php print("<h3>$Today</h3>\n"); print($_REQUEST['YourName'] . " さん<br><br>"); print("本日購入したビールの値段は"); print($_REQUEST['PriceOfBeer'] * $_REQUEST['AmountOfBeer']); print("円です。<br>\n"); ?> </body> </html> 以上です。 ちなみに他のPHP文例えば下記の様なPHP文は普通に実行されます。 -----PHP----- <?php $State = "Tokyo"; $Tokyo = "港区"; print("出身は東京の{$$State}です。"); ?> そして、各ツールのヴァージョンはXAMPP1.7.1、PHP5.2.9、Apache2.2.11.0になります。 また、XAMPP上の文字コードはUTF-8に設定してあり、PHPのソースはUTF-8にエンコード指定し保存して実行しています。 以上、ご確認の程、先輩方ご教授宜しくお願いします。

    • ベストアンサー
    • PHP
  • Ajax.Requestで取得したHTMLソースから'href'の値を

    Ajax.Requestで取得したHTMLソースから'href'の値を取得する方法について Javascriptにて取得した別ページのHTMLタグから 必要な部分のみ値を取得し、配列に格納することは可能でしょうか? 以下Javascript ------ var url = "http://test/index.htm"; new Ajax.Request( url, { "method":"get", asynchronous:false, onComplete: function(request) { html = request.responseText; } } ); alert(html); ------ 以下"http://test/index.htm"のHTMLタグ ------ <html> <head> </head> <body> <a href='http://test/index2.htm'>index2</a> <a href='http://test/index3.htm'>index3</a> <div>index4</div> </body> </html> ------ 上記で"http://test/index.htm"のHTMLタグの全てを取得して出力することはできたのですが、 "href"の"http://test/index2.htm" "href"の"http://test/index3.htm"のみ配列に格納したいのです。 よろしくお願いいたします。

    • ベストアンサー
    • AJAX
  • aspの表示

    こんにちは。 aspでこのように作成し、予定では、for文が回るたびに□■がどんどん変わっていくはずだったのですが、 これを実行するとメイン関数が終了したあとにHTMLが表示されてしまいます。 何か方法はないのでしょうか? よろしくお願いします。 <% Option Explicit%> <SCRIPT Language="JavaScript"> var cnt=0 var msg="□□□□□□□□□□"; function aaa() { msg=msg.replace(/□/,"■") document.textForm.box.value=msg; cnt +=1 if (cnt >9 ){ msg="□□□□□□□□□□"; cnt =0 } } </SCRIPT> <HTML> <HEAD> <title>タイトル</title> </HEAD> <BODY> <FORM> <TABLE> <TR > <TD> </TD> </TR> </TABLE> </FORM> </BODY> </HTML> <% Call Main '--------------------------------------------------- ’メイン関数 '--------------------------------------------------- Sub Main() For i=0 to 3 Response.write("<" + "SCRIPT Language=JavaScript" + ">" + " aaa(); <" + "/" + "SCRIPT>") Next End Sub %>

  • 携帯でhtml文書を表示できない

    以下のソースを作成しましたが、画面では htmlソースのまま表示されてしまいます。 ここから************ <HTML> <HEAD> <TITLE>名簿</TITLE> </HEAD> <BODY> 会員名簿(あいうえお順) </BODY> </HTML> ここまで************ 携帯でhtml文書を表示することは出来ないのでしょうか。お教えください、よろしくお願い致します!

    • ベストアンサー
    • HTML
  • 表示のソース

    ネットのツールバーの中にある表示のツールはどういうときに利用するのでしょうか。下記は一例ですけど、ソースだから掲示板やなんかで大体どこから投稿されたかわかる のでしょうか Quote <HTML> <HEAD> <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=x-sjis"> <TITLE>新・企業会計実務Q&A掲示板</TITLE> <style type="text/css"> <!-- .mes { border-style: ridge; border-width: 0px 0px 0px 0px; border-color: #f5f5f5; } --> </style> </HEAD> <BODY BGCOLOR="#ffffff" TEXT="#000000" ALINK="#003399" LINK="#0000ef" VLINK="#800080" > Unquote

  • IE7 を使ったHTMLの表示方法

    とってもレベルの低い質問で申し訳ないです。 久しぶりにHPづくりに励んでみようと思い、数年前に使っていたHTML入門の本で再度勉強中のものです。 ただ、HTMLをメモ帳に打ち込み、index.html としてinternet explore7 で表示させようとしたところ、打ち込んだソースそのものが表示されてしまいました。 例えば、 <html> <head> <title>久しぶりのHP</title> </head> <body> 久しぶりホームページです。 </body> </html> と打ち込んだソースそのものがIE画面に表示されるといった形です。 二年前に同じ作業をしたときは、きちんとWEBページっぽく表示されていたと思うのですが、私は重大なことを抜かしているのでしょうか??? どなたか返答をお願いします。

    • ベストアンサー
    • HTML