InetコントロールでFTPサーバのファイル一覧表の取得

解決


どど素人  2008-11-27 01:35:38  No: 101369  IP: 192.*.*.*

winXP、VB6.0でやってます。
アクセスするサーバーは、ftp.geocities.jpです。


リモートホストに接続できません。。という結果です。



サンプルを、ftpのアドレス欄だけ変えて、、そのままコピーしてやってますが、うまくいきません。
どうか、ご指導よろしくお願いします。

Option Explicit

Private Sub Command1_Click()
    '処理が終了するまでコマンドボタンを無効化
    Command1.Enabled = False
    With Inet1
        'URLを指定
        .URL = "ftp://ftp.geocities.jp/"
        '開いたURLのファイルとディレクトリの一覧を要求
        .Execute , "DIR"
    End With
    'コマンドボタンを有効化
    Command1.Enabled = True
End Sub
Private Sub Inet1_StateChanged(ByVal State As Integer)
    Dim vntGetData As Variant
    Dim strSplit() As String
    Dim lngBufSize As Long
    Dim lngCounter As Long
    
    'リストボックスをクリア
     List1.Clear
    'Excuteメソッドによる処理要求が完了したら、
    If State = icResponseCompleted Then
        '1回で取得するデータサイズを指定
        lngBufSize = 1024
        Do
            'サーバから返されたデータを取得
            vntGetData = Inet1.GetChunk(lngBufSize, icString)
            '戻り値が長さ0の文字列だったらループを抜ける
            If Len(vntGetData) = 0 Then Exit Do
            '取得したデータを元に配列を作成
            strSplit = Split(vntGetData, vbNewLine)
            '配列の各要素を調べる
            For lngCounter = 0 To UBound(strSplit)
                '長さ0の配列要素を除く
                If Len(strSplit(lngCounter)) <> 0 Then
                    'リストボックスへ追加
                    List1.AddItem strSplit(lngCounter)
                End If
            Next
        Loop
    End If
End Sub

編集 削除
我龍院  2008-11-27 07:37:17  No: 101370  IP: 192.*.*.*

List1.Clear
の代わりに
List1.AddItem "states:" + Str(states)
等を入れてStatesで何が返って来ているか確かめたら如何ですか。
それと「ftp://ftp.geocities.jp/」はanonymousで接続できましたっけ?
「ftp.microsoft.com」でやってみたら。

編集 削除
どど素人  2008-11-27 09:38:39  No: 101371  IP: 192.*.*.*

我龍院さん、ありがとうございます!!
早速やってみましたが、、123478  5678  5678.....
と帰ってきました。
geocitiesでやるときは、自分のIDとパスワード。ポートを21にしたり、80のままでやったり、、microsoftでanonymousで、パスワードなしでやっても、全て同じ結果でした・・・。プロパティか何かなんでしょうか??

編集 削除
我龍院  2008-11-27 16:07:57  No: 101372  IP: 192.*.*.*

>5678
8まで行ってるということは、受信は出来ているということですね。
> strSplit = Split(vntGetData, vbNewLine)
これは何ですかね?
とりあえずvntGetDataを足しこんでTextBoxに入れてみたら如何ですか。

編集 削除
どど素人  2008-11-28 11:32:03  No: 101373  IP: 192.*.*.*

我龍院さん、度々すみません、
アドバイス戴き、ほんとにありがとうございます!!

どうも、調べてみると、vntGetData = Inet1.GetChunk(lngBufSize, icString)
のところで、止まってるみたいです。。

編集 削除
我龍院  2008-11-28 14:08:48  No: 101374  IP: 192.*.*.*

うーん、何が悪いか判断できませんね、とりあえず
http://www.vector.co.jp/soft/win95/net/se336103.html
でダウンロードして、プルダウンメニューの「設定」の真ん中位に
0:microsoftが有りますからそれをクリックしてそちらの環境から
アクセス出来るか試してください。

編集 削除
どど素人  2008-11-28 15:46:27  No: 101375  IP: 192.*.*.*

我龍院さん!何度もすみません、ほんとにありがとうございます!!
ダウンロードして、そのままマイクロソフトのFTPへの接続をやってみましたが、、やっぱり何も返ってきませんでした、、そのままビジーの状態のままが続いてました。パソコンの設定か何かでしょうか??
ウィルスソフト(セキュリティーZERO)は止めてやったんですが、それは駄目でした。。

編集 削除
我龍院  2008-11-28 16:23:36  No: 101376  IP: 192.*.*.*

社内等のプロキシを通していませんか?

編集 削除
どど素人  2008-11-28 20:45:50  No: 101377  IP: 192.*.*.*

我龍院さん、いつもいつもありがとうございます!!

自宅なんで、ケーブルテレビのネットで使ってます。

ちなみに、フリーのFFFTPソフトなら、普通にftp.microsoft.comで、フォルダの検索ができます
http://www.forest.impress.co.jp/lib/inet/servernt/ftp/ffftp.html

編集 削除
どど素人  2008-11-28 20:57:39  No: 101378  IP: 192.*.*.*

我龍院さん。。

http://www.vector.co.jp/soft/win95/net/se336103.html

パッシブモードでやると繋がりました。。

ってことは・・・。

ちょっとがんばってみます!!

編集 削除
どど素人  2008-12-04 12:01:07  No: 101379  IP: 192.*.*.*

遅くなって、すみません、我龍院さん、色々とありがとおございました!!
解決しました。

INETコントロールは諦めて、、WININETで、PASSIVEで接続するとうまく繋がりました!

有難うございました!<m(__)m>

編集 削除