アプリケーションに必要なファイルをインターネットから(インストールの一部として)ダウンロードしようとしています。これにより、アプリを初めて起動したときに、必要なファイルがダウンロードされます。今のところ、それらをGoogleドライブに配置して公開してから、libcURLを使用してダウンロードします。問題は、データを取得できないことです。
私は次のリンクを使用します:そしてidhttps://docs.google.com/uc?id=documentID&export=download
に置き換えます。documentID
ただし、サイトに接続しようとすると、基本的に「一時的に移動」と表示され、新しいURLへのリンクが表示されるHTMLコードの小さなスニペットが表示され続けます。プログラムで新しいリンクを使用すると、出力がまったく得られません。ただし、サインインしていなくても、両方のリンクはWebブラウザーで正常に機能します。それでは、プログラムで両方のリンクが機能しないのはなぜですか。SSLオプションを正しく設定していませんか、それともGoogleドライブはこの種の目的ではありませんか?
これが私のコードです:
#include <curl/curl.h>
int main()
{
curl_global_init(CURL_GLOBAL_ALL);
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "https://docs.google.com/uc?id=documentID&export=download");
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
res = curl_easy_perform(curl);
}
curl_easy_cleanup(curl);
return 0;
}
どんな助けでもいただければ幸いです。