• ベストアンサー

UNIXで動作するFTPクライアントライブラリ

C言語から呼び出し可能なFTPクライアント用のライブラリを探しています。(できれば無料を望みますが有料でもかまいません)動作環境はUNIXであると聞いてますが詳細は不明です。(LINUXで動作するものでも問題ないと思っています)ご存じの方おりましたら教えていただけませんでしょうか。 質問の意図は、ファイル名、ファイル転送先などをパラメータで与え、そのファイルの内容を指定先へ送信するような共通関数をC言語で簡単に作りたいためです。FTPクライアントをsystemで呼び出して行う方法も考えましたが、それは最後の手段としたいと思っています。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

curlというコマンドはご存知ですか?ftp,httpその他の転送ができます。これのライブラリlibcurlは各種言語へのインターフェースを用意しています。CのAPIもあります。

参考URL:
http://curl.haxx.se/libcurl/c/
tatsu99
質問者

お礼

ありがとうございました。参考URLを拝見しました。ちょっと、こちらのイメージしていたものと違いますが、参考にさせていただきます。

関連するQ&A

  • linuxでのftpクライアントプログラムをつくるには

    Windows(VC++ MFCを使用して)などで ftpクライアントのプログラムを作成することが出来るみたいですが linux(TURBO LINUX 4.0)で同様なことはできないのでしょうか? 具体的には 以下のようなことがしたいためです。 (1) ftpサーバーにlinuxマシンにてクライアントでログイン (2) サーバー上のftpホームディレクトリにあるファイルができるまで周期的に監視 (3) 該当するファイルができたらファイルをクライアント側に転送 (1)~(3)を一回のftp接続状態のまま自動的(プログラム)で行ないたいのです。 VC++ MFCでは,FTPを行なうクラスがいくつかあるみたいですが? どなたかわかりましたら御回答ください。

  • UNIX INETDを使用して、クライアントAPの作成方法?

    UNIXのINETDサービスを使用して、UNIX側にファイル送信 を行おうとしています。 クライアント側ではWinStockにてUNIX側のInetdサービス に設定したAPにて受信しようと考えています。 クライアント側のAPではINETDに設定されたAPのポートで 接続を行うことで、UNIX側のAPは起動するのでしょうか? できればサンプルプログラムがあれば教えてください。 (クライアント側(Windows2000-C言語)UNIXサーバ(C言語))です。

  • ftpが動作しない

    PCをVistaに変えてからftpが動作しなくなったので大変困っています。 環境: ◯インターネット上サーバA ftpは平文パスワードが流れるためport 20/21はクローズ。localhostからのftpgw.tclをゲートウエーとしてftpdに通信 zebedee(サーバ)でftp通信を暗号化 ◯家庭内Linux B zebedee(クライアントモード)でftp通信を暗号化 ◯家庭内windowsクライアントC windows XP zebedee(クライアントモード)でftp通信を暗号化 ◯家庭内winsowsクライアントD windows Vista zebedee(クライアントモード)でftp通信を暗号化 zebedeeの設定は全て同一ですが、B→A、C→Aはできるものの、クライアントDからAだけが通信できません。D上のファイアウオールもウイルスチェックもはずしましたが、変化なしです。 B, C, D共にzebedee(クライアント側)の設定は、 server false serverhost <サーバAのIP> serverport <サーバAのport> tunnel 10021:<サーバAのIP>:10021 tunnel 30000-30010:<サーバAのIP>:30000-30010 としています。10021はftpgw.tclの待ち受けポートであり、30000-30010はpassiveモードでのデータ通信ポートです。 XPでは動作するのにVistaでは動作しないのは、調べたところ機能強化したファイアウオールというものがVistaから加えられており、アウトバウンドの通信がブロックされているのではないかと思いました。パブリック、プライベート等のポリシーもオフにしたり試行錯誤しましたが通信できずに大変困っています。どなたかVistaのこのあたりに詳しい方、お助けください。よろしくお願いします。

  • FTPのクライアントとサーバ

    FTPでWindowsで起動するクライアントとLinuxで起動するサーバで ファイルのやり取りを行っているのですが クライアントから20MBくらいのファイルをサーバに送信(put)すると 途中で中断されてしまいます。 エラーコードを見る限り接続がリセットされたようなのですが なぜそうなるのかまったく分かりません。 心当たりある方はいらっしゃいますか?

  • Firewall対応のFTPクライアントを探しています

    定期的なWebコンテンツのメンテナンスのために、 FTPクライアントソフトを探しています。 具体的には、頻繁に、複数のファイル(いつも同じ名称のファイル)を FTPでアップロードする必要があります。 調べたら、どうやら「ファイルアッパー」というフリーウエア http://www.vector.co.jp/soft/win95/net/se303039.html がよさそうなのですが、会社内での使用になるため(?)、 Firewallに対応していなければならず、使えません(ですよね)。 ちなみに今はFFFTPを使っています。 Firewallに対応していて、ファイルアッパーのように いつも同じファイルをリスト化しておいてFTP転送するような ソフトウエア(有料でもいいです)はないでしょうか。 ご存知の方、教えてください。

  • 転送ログつきftpクライアントあります?(Win2k)

    Windows2000環境に移行して、新しいftpクライアントを捜しています。 Windows98を使用していた時は、ws_ftp LEを使っていたのですが、もう 開発していないらしく、Windows2000が動作保証外になっています。 このソフトはファイルごとに転送ログを書き出してくれていました。 (いつ、どのファイルをどこにといったものが1行で) このような機能を持っているソフトはありませんでしょうか?

  • バイナリ転送の拡張子指定可能なFTPクライアント

    UNIXからWindowsに、 テキストとバイナリが混在したフォルダ内ファイルの転送を フォルダごと一気に行いたいと思っています(テキストのみアスキー転送で行いたい)。 ファイルの内訳としては、 テキスト→いろんな拡張子(100種類くらい) バイナリ→EXCELファイルのみ です。 フリー、シェア含めいろんなFTPクライアントを調べてみましたが、 アスキーモードで転送するファイルの拡張子を設定するソフトはあるけど、 内訳が上の通りなので、100種類の拡張子を登録する必要があります。 逆にバイナリ転送を行うファイルの拡張子を設定(その他は全てアスキー転送)できるソフトがあれば良いのですが… もし知っている方がいらっしゃったら教えてください。

  • FTPクライアントで接続できない

    FTPクライアントの機能を持ったLinuxマシンからFTPによる接続ができません。 このマシンのOSはDebian2.6.18-6の機能を絞ったスリム版で、本来なかったFTPクライアントもユーザーランドから自身でインストールしたものです。 状況: 1.正常なケース #ftp >ftp open 192.168.1.2  相手はプリントサーバでLog inできました。 >ftp open 192.168.1.1  相手は光ルータで  connect: Connection refused  これはつながっているのだと思います。 2.接続できないケース #ftp >ftp open 192.168.1.3  相手はPC Vista-Ultimateマシンで無限ループに入ってしまい、やがてタイムアウトエラーになります。 以上よりインストールしたFTPクライアントの機能は生きているだと思います。 PC側Securityの問題かと考え、インターネットオプションでSecurityレベル等を変えてみたのですが効果はありません。 FTPによるファイル受信、TCP/IPによる送受信は従来より問題ありません。 ご教示願えれば幸いです。

  • DOS上で、UNIXのShellに代替されるものってありますか?

    あるPCから別のマシンにftpを使ってファイルを転送するのですが、作業者(ファイル転送をする人)がftpコマンドなどが使えないため、 パソコンのDOS画面(コマンド実行)から、キーをひとつたたけば、ファイル転送してくれる仕組みをつくりたいのです。(ファイル名は固定のものが数個。転送するのは1ファイル単位でまとめての転送はしない) UNIX上ならftpコマンドを発行するシェルを作れば済むと思うのですが、DOS上ではどうなのでしょうか? UNIXのシェルのようなものはあるのでしょうか?

  • FTPコマンドでgetしたい

    FTPコマンドでファイルを転送したい。操作はクライアントで行っています。 サーバ⇒クライアントです。ディレクトリー構成は。(サーバー側)c:\2.txt を⇒(クライアント側)c:\2.txt に転送したいのですがエラーが出ます。次のように実行しています。 ftp>get c:\2.txt c:\2.txt としています。これを実行すると次のエラー 【550 c:\2.txt :The filename is incorrect】 と出ます。どうすればよいでしょうか? ファイルタイプもascii にしたりbin にしたり試しているがだめです。 お願いします。