43 lines
962 B
C++
43 lines
962 B
C++
#include"Download.h"
|
|
|
|
#include<iostream>
|
|
#include<fstream>
|
|
|
|
#include<cpr/cpr.h>
|
|
|
|
using std::cout;
|
|
using std::endl;
|
|
using std::ofstream;
|
|
using std::string;
|
|
|
|
namespace Syncers
|
|
{
|
|
Download::Download() { }
|
|
Download::Download(string filePath)
|
|
{
|
|
downloadFilePath = filePath;
|
|
}
|
|
|
|
|
|
void Download::downloadSong(const int id)
|
|
{
|
|
string urlRoot = "http://192.168.1.5";
|
|
int port = 9349;
|
|
string endpoint = "api/song/data/" + std::to_string(id);
|
|
string url = urlRoot + ":" + std::to_string(port) + "/" +
|
|
endpoint;
|
|
auto r = cpr::Get(cpr::Url{url});
|
|
const char* newBuff = r.text.c_str();
|
|
int bufferLength = r.text.size();
|
|
|
|
ofstream saveSong{downloadFilePath, ofstream::binary};
|
|
saveSong.write(newBuff, bufferLength);
|
|
|
|
cout<<"HTTP status code: "<<r.status_code<<endl;
|
|
cout<<"Header info: "<<r.header["content-type"]<<endl;
|
|
cout<<"Header info: "<<endl;
|
|
cout<<r.header["content-type"]<<endl;
|
|
cout<<r.header["content-disposition"]<<endl;
|
|
}
|
|
}
|