HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2011
1009
GrapeColorhspinetのFTP系命令について質問22解決


GrapeColor

リンク

2011/10/9(Sun) 19:59:39|NO.42147

hspinetを使って自作ソフトウェアにバージョンアップ機能をつけようと思ったのですが
参考までにhspinetのサンプルプログラムtest5でFTPサーバー上のファイル一覧を取得しようとしたところ
散々時間がかかった末、以下のような文しか帰ってこないので困っています

FTP接続しました。 220 Hello. NinjaFreeWeb FTP server ready. 331 Password required for grapeuploda.xxxxxxxx.jp 230 User grapeuploda.xxxxxxxx.jp logged in チロFTP切断します。
(※正確にはチロの前に1文字意味不明な記号がついています)
どなたか分かる方教えてください
HSPのバージョンは3.3RC1です



この記事に返信する


ORZ

リンク

2011/10/9(Sun) 20:04:39|NO.42148

正常に接続できているように見えるんだが、FTPサーバーの中に何も入ってないとか
そういう可能性はないのん?



GrapeColor

リンク

2011/10/9(Sun) 20:05:32|NO.42149

確実に入っていることをFFFTPで確認済みです



ORZ

リンク

2011/10/9(Sun) 20:09:01|NO.42150

ファイルの名前が日本語だとか、化けそうな文字使ってるとかないの?
時間がかかるっていうのが気になるな。
あと意味不明な文字っていうのがなんだべな。改行コードかね。



GrapeColor

リンク

2011/10/9(Sun) 20:14:28|NO.42151

記号は黒い長方形の中に白い丸がある文字です(半角)
掲示板に貼れない文字でした



GrapeColor

リンク

2011/10/9(Sun) 20:16:56|NO.42152

あ、あとこの前まで取得できたのに取得がいきなりできなくなったため
システムの復元をしましたが直りませんでした。



k5342

リンク

2011/10/9(Sun) 20:31:03|NO.42153

http接続でnetload命令を使うのではだめですかねえ



GrapeColor

リンク

2011/10/9(Sun) 20:36:05|NO.42154

>>k5342さん
FTPのファイル一覧を取得するのになぜnoteloadなのですか
詳しく教えてください



who

リンク

2011/10/9(Sun) 20:40:03|NO.42155

ちげぇwwww



k5342

リンク

2011/10/9(Sun) 20:50:05|NO.42156

FTPにログインするのではなく、httpを使うのです。
これだとログインせずにファイルをダウンロードできます。
FTPの読み取り専用みたいなものです。
ホームページなどで使われます。

netloadはそのhttp接続を利用してファイルをダウンロードできる命令です。



GrapeColor

リンク

2011/10/9(Sun) 20:52:20|NO.42157

>>k5342さん
netloadをnoteloadと見間違えていました
風格お詫び申し上げます



inovia

リンク

2011/10/9(Sun) 20:57:32|NO.42158

忍者ホームページのFTPサーバーで試したところ、一覧取得に失敗しますね。
自宅サーバーやプロバイダ、借りているレンタルサーバーの
FTPサーバーで試すと一覧取得できました。
ただ、一覧取得する命令を使うと私の環境では終了時に
データ実行防止(DEP)が作動して強制終了しました。

HSP 3.3リリース版/3.22 ともに現象を確認。



GrapeColor

リンク

2011/10/9(Sun) 20:58:52|NO.42159

netloadを使用すると存在しないファイルでもダウンロードできてしまうので
FTPのリストを取得し、ファイルの存在を確認してからダウンロードしようと思っています
(存在しないのにダウンロードできてしまったファイルの中身はあの404ERRORのページになっていました)



GrapeColor

リンク

2011/10/9(Sun) 21:00:40|NO.42160

>>inoviaさん
昨日の昼ぐらいまでは取得できたのですが・・・
この短時間に何かしらの対策をされてしまったのでしょうか?



inovia

リンク

2011/10/9(Sun) 21:08:38|NO.42162

>netloadを使用すると存在しないファイルでもダウンロードできてしまうので
net系の命令でファイルが404でないか調べるには以下のようにすると取得できるかと。

#include "hspinet.as" netinit if stat : dialog "ネット接続できません。" : end ; URLを指定 neturl "http://www.tkooler.net/" ; ファイル名を指定(今回はありえないファイルを指定) netfileinfo info,"sonzaishinai.jpg" mes info notesel info noteget list, 0 if instr(list, 0, "404 Not Found") != -1 : dialog "404エラー"



GrapeColor

リンク

2011/10/10(Mon) 00:06:17|NO.42171

忍者ホームページだと有っても無くても同じメッセージが返ってくるので判別できません

HTTP/1.1 200 OK ETag: "3f90e5-2326-24741080" Content-Length: 8998 P3P: CP="UNI CUR OUR" Content-Type: text/html X-Pad: avoid browser bug Last-Modified: Mon, 05 Sep 2011 05:40:02 GMT



k5342

リンク

2011/10/10(Mon) 00:38:22|NO.42174

netfileinfoという命令で情報を取得できます。
これは取得エラーの場合はstatに0以外が返るのでそれで判断できます。

	#include"hspinet.as"
screen 0,300,35 netinit neturl"http://k5342.web.fc2.com/" //絶対にないファイルの情報を取得する netfileinfo info,"qweifjweiofjowifo.jpg" //こっちが実際にあるファイル(動作確認用) ; netfileinfo info,"index.html" if stat!0:title"取得失敗":goto*main ; ; ここから処理を続行する ; title"取得完了" *main objsize 300,35 pos 0,0:button"終了",*owari stop *owari end



k5342

リンク

2011/10/10(Mon) 00:40:38|NO.42175

あ、inoviaさんのとダブっちゃってましたね。
よく読んでいない自分が悪かったです。すいません。
自分の方はnetfikeinfoの後ろにstatで判断していますのでこのぶぶんを利用すればできるはずです。



GrapeColor

リンク

2011/10/10(Mon) 00:48:03|NO.42177

>>k5342さん
netfileinfo命令が返すstatの値はメッセージが取得できたかどうかなのでファイルの有無には関係ないと思います。



inovia

リンク

2011/10/10(Mon) 01:10:59|NO.42178

忍者ホームページでカスタムの404エラーページを作成すると
ヘッダーで 404 Not Foundを返してくれるみたいです。

オリジナル「404 Not Found」ページの作成と設定
http://www.ninja.co.jp/hp/help/manual/1057/

例:(昔作ったのですがw)
http://tkoolring.koiwazurai.com/sonzaisinai.jpg



GrapeColor

リンク

2011/10/10(Mon) 01:38:24|NO.42180

>>inoviaさん
作ってみましたがやはり返ってくるメッセージは同じでした



GrapeColor

リンク

2011/10/10(Mon) 01:43:20|NO.42182

アドレスをそもそも間違えていました^^;
成功しました!
ありがとうございます



who

リンク

2011/10/10(Mon) 02:39:14|NO.42187





ONION software Copyright 1997-2021(c) All rights reserved.