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


会社合併  2008-10-10 06:10:24  No: 101204

<環境>
WinXP,VB6

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

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


subaru  2008-10-10 20:30:49  No: 101205

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


subaru  2008-10-10 20:32:10  No: 101206

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


会社合併  2008-10-10 21:55:42  No: 101207

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


subaru  2008-10-10 22:54:23  No: 101208

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


会社合併  2008-10-11 09:25:20  No: 101209

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


我龍院  2008-10-13 21:15:41  No: 101210

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

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


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

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






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