lyrics fetcher: fix lyricwiki.com redirect issue
This commit is contained in:
committed by
Andrzej Rybczak
parent
169c48b43d
commit
4ac2990baf
1
NEWS
1
NEWS
@@ -1,5 +1,6 @@
|
|||||||
ncmpcpp-0.6.6 (????-??-??)
|
ncmpcpp-0.6.6 (????-??-??)
|
||||||
* A typo in the example configuration file was fixed.
|
* A typo in the example configuration file was fixed.
|
||||||
|
* Fetching lyrics from lyricwiki.com was fixed.
|
||||||
|
|
||||||
ncmpcpp-0.6.5 (2015-07-05)
|
ncmpcpp-0.6.5 (2015-07-05)
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
CURLcode result;
|
||||||
CURL *c = curl_easy_init();
|
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_CONNECTTIMEOUT, timeout);
|
||||||
curl_easy_setopt(c, CURLOPT_NOSIGNAL, 1);
|
curl_easy_setopt(c, CURLOPT_NOSIGNAL, 1);
|
||||||
curl_easy_setopt(c, CURLOPT_USERAGENT, "ncmpcpp " VERSION);
|
curl_easy_setopt(c, CURLOPT_USERAGENT, "ncmpcpp " VERSION);
|
||||||
|
if (follow_redirect)
|
||||||
|
curl_easy_setopt(c, CURLOPT_FOLLOWLOCATION, 1L);
|
||||||
if (!referer.empty())
|
if (!referer.empty())
|
||||||
curl_easy_setopt(c, CURLOPT_REFERER, referer.c_str());
|
curl_easy_setopt(c, CURLOPT_REFERER, referer.c_str());
|
||||||
result = curl_easy_perform(c);
|
result = curl_easy_perform(c);
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
|
|
||||||
namespace Curl
|
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);
|
std::string escape(const std::string &s);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -118,7 +118,7 @@ LyricsFetcher::Result LyricwikiFetcher::fetch(const std::string &artist, const s
|
|||||||
result.first = false;
|
result.first = false;
|
||||||
|
|
||||||
std::string data;
|
std::string data;
|
||||||
CURLcode code = Curl::perform(data, result.second);
|
CURLcode code = Curl::perform(data, result.second, "", true);
|
||||||
|
|
||||||
if (code != CURLE_OK)
|
if (code != CURLE_OK)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user