0

私がしたいこと:

URLからファイルをダウンロードしてローカルに保存するacプログラムを作成しようとしています.次のガイドを見つけました.

http://siddhantahuja.wordpress.com/2009/04/12/how-to-download-a-file-from-a-url-and-save-onto-local-directory-in-c-using-libcurl/

私の問題は何ですか:

ファイルは 1 時間ごとに更新され、それぞれの新しいファイルの日付と時刻がスタンプされます。time.h を使用して必要なファイル名を予測し、現在の日付と時刻の情報を抽出することはできますが、この情報を curlib コマンドに渡すことができる形式に結合する方法がわかりません。

現在試みられている解決策 (機能しません):

char *url;                       //char pointer to URL
url = malloc((sizeof(char)*51+1);//allocate memory to pointer address is 51 characters + \0 terminator
sprintf(url, "http://>URL Info</FILENAME%.4d%.2d%.2d%.2d30.jpg\0", year, month, date, hour);
                                 //ie http://example.com/files/FILENAME201304071030.jpg

printf で出力できるように文字列が入力されていますが、curlib コマンドに渡されていないようです。

curl_easy_setopt(curl, CURLOPT_URL, url);

宛先ファイルを作成しますが、ファイルは空です。char ポインターと文字列の違いと関係があると思われますが、何が原因かわかりません。

私が間違っていることと、次に何を試すべきかについてのアイデアはありますか?

4

1 に答える 1

0

libcurl を使用するプログラムでCURLOPT_VERBOSEオプションを使用し、送信される要求/応答を調べる必要があります。

私の推測では、どういうわけか間違った URL を要求しただけで、サーバーは 404 などで応答し、実際の応答本文の内容はありません。

curl_easy_setopt ( curl、CURLOPT_URL、url); あなたが示した呼び出しは、ゼロで終了した char * を取るため、問題ないようです。それがあなたが送信したものです。もちろん、VERBOSE 出力は、libcurl が入力を期待どおりに処理するかどうかも示します。

于 2013-04-07T08:50:09.293 に答える