lyrics fetcher: fix lyricwiki.com redirect issue

This commit is contained in:
Eric Izoita
2015-09-01 20:14:00 -07:00
committed by Andrzej Rybczak
parent 169c48b43d
commit 4ac2990baf
4 changed files with 6 additions and 3 deletions

View File

@@ -35,7 +35,7 @@ namespace
}
}
CURLcode Curl::perform(std::string &data, const std::string &URL, const std::string &referer, unsigned timeout)
CURLcode Curl::perform(std::string &data, const std::string &URL, const std::string &referer, bool follow_redirect, unsigned timeout)
{
CURLcode result;
CURL *c = curl_easy_init();
@@ -45,6 +45,8 @@ CURLcode Curl::perform(std::string &data, const std::string &URL, const std::str
curl_easy_setopt(c, CURLOPT_CONNECTTIMEOUT, timeout);
curl_easy_setopt(c, CURLOPT_NOSIGNAL, 1);
curl_easy_setopt(c, CURLOPT_USERAGENT, "ncmpcpp " VERSION);
if (follow_redirect)
curl_easy_setopt(c, CURLOPT_FOLLOWLOCATION, 1L);
if (!referer.empty())
curl_easy_setopt(c, CURLOPT_REFERER, referer.c_str());
result = curl_easy_perform(c);

View File

@@ -30,7 +30,7 @@
namespace Curl
{
CURLcode perform(std::string &data, const std::string &URL, const std::string &referer = "", unsigned timeout = 10);
CURLcode perform(std::string &data, const std::string &URL, const std::string &referer = "", bool follow_redirect = false, unsigned timeout = 10);
std::string escape(const std::string &s);
}

View File

@@ -118,7 +118,7 @@ LyricsFetcher::Result LyricwikiFetcher::fetch(const std::string &artist, const s
result.first = false;
std::string data;
CURLcode code = Curl::perform(data, result.second);
CURLcode code = Curl::perform(data, result.second, "", true);
if (code != CURLE_OK)
{