質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
FTP

FTP(File Transfer Protocol)は、ネットワークでのファイル転送を行うための通信プロトコルの1つである。

Q&A

解決済

1回答

3759閲覧

FTPS通信のためcurl を使ってみたところ「CURLE_URL_MALFORMAT」というエラーになって先に進めません。 なぜでしょうか?

qqfsdfsafd

総合スコア599

FTP

FTP(File Transfer Protocol)は、ネットワークでのファイル転送を行うための通信プロトコルの1つである。

0グッド

0クリップ

投稿2021/09/29 05:35

編集2021/10/04 10:49

FTPS通信にて、curl を使ってみたところ「CURLE_URL_MALFORMAT」というエラーになって先に進めません。
なぜでしょうか?

追記

C++

1curl_easy_setopt(m_pCurlSession, CURLOPT_URL, strFile.c_str());

https://github.com/embeddedmz/ftpclient-cpp/blob/master/FTP/FTPClient.cpp

追記
>strFileの値はどうなっていますか?

たぶん、ftpsから始まるURLです。

追記
ftps:////サーバー名//home//ホスト名//www//フォルダ名//ファイル名
です。
ソース上は/なのに、なぜか//になっています。
なぜでしょうか?

追記
たぶん/が//になるのは間違っていかったようです。
ちゃんと動くと思われるサンプルソースでわざわざそのように変更するコードが入っていました。
ftps:////サーバー名//home//ホスト名//www//フォルダ名//ファイル名
↑ここに4つ////が付いていたのが間違いだったようです。
ftps://サーバー名//home//ホスト名//www//フォルダ名//ファイル名
↑これに変更したところ「CURLE_URL_MALFORMAT」は出なくなりました。
次は「CURLE_COULDNT_CONNECT」が出てくるようになりました。
なぜでしょうか?

追記
なんとなくわかってきました。
サーバーに専用のドメインを作って証明書とか秘密鍵を入手する必要があるようです。
とりあえず、新規ドメインを申し込みました。
ドメインが利用できるようになるまで1週間掛かるそうです。

追記
いやいやいや、そんなことないですよね?ffftpを使えば専用のドメインなんか無くてもFTPS通信が出来ます。FTP通信のパスワードが秘密鍵ってこと?

追記
やっぱりよくわからないのでレンタルサーバーの業者に問い合わせ中です。

補足
CURLE_COULDNT_CONNECTは解決しました。ポート990がダメだったようです。ポート21に変更したらCURLE_COULDNT_CONNECTは解消しました。今度は35番のエラーが出ます。どうすればいいでしょうか?

サーバーはTLS1.2です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

itagagaki

2021/09/29 05:46

コードを示してください。 curl_setopt($curl,CURLOPT_URL, ココ); たぶんココの部分にURLを渡していると思いますが、どうしていますか?
itagagaki

2021/09/29 06:48 編集

strFileの値はどうなっていますか?
otn

2021/09/29 09:24

> たぶん、 「たぶん」じゃだめです。
otn

2021/09/29 11:28

> なぜか//になっています。 それが原因でしょうね。
guest

回答1

0

ベストアンサー

CURLE_URL_MALFORMAT は、URLが適切な形にフォーマットされていないというエラーです。
strFile.c_str()が適切なURLでないということです。
実際にstrFile.c_str()がどんな文字列になっているのかを把握しないことには先に進めないでしょう。


追記

ftps:////サーバー名//home//ホスト名//www//フォルダ名//ファイル名
です。
ソース上は/なのに、なぜか//になっています。
なぜでしょうか?

それはあなたのコードですから、まずはあなたが調べてください。
それでもわからなくて質問するのならコードの必要と思われる部分を提示してください。
それをせずに「なぜでしょうか?」と言っても、誰も答えようがありませんよ。

投稿2021/09/29 07:35

編集2021/09/29 11:19
itagagaki

総合スコア8402

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

qqfsdfsafd

2021/10/01 22:00

補足を追記しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問