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

解決


どど素人  2008-11-27 10:35:38  No: 101369

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 16:37:17  No: 101370

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


どど素人  2008-11-27 18:38:39  No: 101371

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


我龍院  2008-11-28 01:07:57  No: 101372

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


どど素人  2008-11-28 20:32:03  No: 101373

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

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


我龍院  2008-11-28 23:08:48  No: 101374

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


どど素人  2008-11-29 00:46:27  No: 101375

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


我龍院  2008-11-29 01:23:36  No: 101376

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


どど素人  2008-11-29 05:45:50  No: 101377

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

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

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


どど素人  2008-11-29 05:57:39  No: 101378

我龍院さん。。

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

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

ってことは・・・。

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


どど素人  2008-12-04 21:01:07  No: 101379

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

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

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加