アプリ版:「スタンプのみでお礼する」機能のリリースについて

指定した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>

A 回答 (4件)

BASP21 の W3get メソッドを使用するのはどうですか。

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

ソケットを使用する方法もありますがXMLHttpRequestを使ってもできるかもしれません。

(動作未確認)

<%
Set objHttp = CreateObject("Microsoft.XMLHttp")
objHttp.Open "GET", "http://www.yahoo.co.jp/index.html", False
objHttp.Send
Response.Write objHttp.ResponseText
%>

この回答への補足

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

補足日時:2005/08/05 15:44
    • good
    • 0

とりあえずSJIS <--> ユニコード は下のURLの関数を使って変換してみてください。


http://www.interq.or.jp/student/exeal/dss/ref/vb …
    • good
    • 0

つい最近、そんなプログラムを作りました。



取得自体は既出の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を発行するだけです。
ただ、画像なんかがローカルパス指定の場合は表示されないので、その辺の加工がひつようです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!