WinInet APIとエクスプローラで同じFTPフォルダにアクセスするには?


会社合併  2008-10-09 21:10:24  No: 101204  IP: 192.*.*.*

<環境>
WinXP,VB6

WininetAPIでFTPクライアントソフトを作成しています。
他の業者さんのFTPサーバ(Linux)からファイルを取得するのですが、
コネクトした際に接続先が相手の/rootフォルダに入ってしまいます。
(サーバ名、ユーザ名、パスワードは死ぬほど確認済)
おかしいと思いエクスプローラ(FTP://)で表示すると、
同じユーザー名とパスワードを入力後、ちゃんと指定されたフォルダへ
アクセスできます。
APIとエクスプローラとは違う物を利用しているのでしょうか?
エクスプローラと同じ動きをさせたい場合は、APIでは無く何を使えば良いのでしょうか?

・IEでPASVモードのチェック「切」にしても接続できました。
・IEでFTP://サーバアドレスで入力すると同じ/rootに入ります。
  ※ユーザー名とパスワードを指定してログインする方法は明日試します。
・/rootからフルパス入力をすれば正常にファイルが取得できますが、相手が
  ホームディレクトリを変更すると接続できなくなるので使えません。

編集 削除
subaru  2008-10-10 11:30:49  No: 101205  IP: 192.*.*.*

WinInet APIのことでいいのかな?
>・IEでFTP://サーバアドレスで入力すると同じ/rootに入ります。
APIで接続というのはこの状態と同じではないですか。
この後ディレクトリを移動させたいだけなら、
FtpSetCurrentDirectoryというAPIがあります。

編集 削除
subaru  2008-10-10 11:32:10  No: 101206  IP: 192.*.*.*

>WinInet APIのことでいいのかな?
最初に書いてありましたね。
失礼しました。

編集 削除
会社合併  2008-10-10 12:55:42  No: 101207  IP: 192.*.*.*

subaruさん、レスありがとうございます。
本日、IEでユーザー名とパスワードを指定してコネクトしても
やはり/rootに入ってしまうようです。
ただ、匿名接続は禁止されているようです。
エクスプローラはAPI以外の何かを利用しているのかな・・・
同じ動作をさせたければ、winsockで一から作る以外無いのでしょうか?
・・・・ひぃ><

編集 削除
subaru  2008-10-10 13:54:23  No: 101208  IP: 192.*.*.*

状況がよくわからないのですが、
ftp://user:password@server/
形式のアドレスを入力すると見えている仮想ディレクトリの
内容がIEとエクスプローラーで異なるということでしょうか?
そんなことはないと思うのですが・・・

編集 削除
会社合併  2008-10-11 00:25:20  No: 101209  IP: 192.*.*.*

内容が異なると言うか、何故かカレントフォルダが違うんです。。。
そんなはず無いですよね?  僕もそう思います。

編集 削除
我龍院  2008-10-13 12:15:41  No: 101210  IP: 192.*.*.*

要するに、IEと自作のソフトでは接続したFTPサーバーの
初期フォルダが違うと言うことですか?

IEがどのようになっているか知りませんが、自作の
FTPプログラムには初期「フォルダの設定」と言うのを
通常はつけます。

編集 削除