直接放硬(硬编码,需要的自己封装)代码了
原理可以看这篇文章
123K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1L8r3!0Y4i4K6u0W2j5%4y4V1L8W2)9J5k6h3&6W2N6q4)9J5c8Y4q4I4x3K6b7H3x3e0t1@1y4K6l9I4x3q4)9J5c8X3q4J5N6r3W2U0L8r3g2Q4x3V1k6V1k6i4c8S2K9h3I4K6i4K6u0r3y4K6M7^5y4U0M7@1x3e0l9`.
#include <iostream>
#include <string>
#include <ctime>
#define _USE_MATH_DEFINES
#include <math.h>
#include <curl/curl.h>
#include <json/json.h>
size_t CurlWrite_CallbackFunc_StdString(void* contents, size_t size, size_t nmemb, std::string* s) {
size_t newLength = size * nmemb;
try {
s->append((char*)contents, newLength);
}
catch (std::bad_alloc& e) {
//handle memory problem
return 0;
}
return newLength;
}
double get_random(int a,int b) {
return (std::rand() % (99 - a + 1)) + a;
}
std::string UTF8ToGBEx(const char* utf8)
{
if (!utf8 || strlen(utf8) < 1)
return "";
std::stringstream ss;
int len = MultiByteToWideChar(CP_UTF8, 0, utf8, -1, NULL, 0);
wchar_t* wstr = new wchar_t[len + 1];
memset(wstr, 0, len + 1);
MultiByteToWideChar(CP_UTF8, 0, utf8, -1, wstr, len);
len = WideCharToMultiByte(CP_ACP, 0, wstr, -1, NULL, 0, NULL, NULL);
char* str = new char[len + 1];
memset(str, 0, len + 1);
WideCharToMultiByte(CP_ACP, 0, wstr, -1, str, len, NULL, NULL);
ss << str;
delete[]wstr;
delete[]str;
return ss.str();
}
int main() {
CURL* curl;
CURLcode res;
std::srand((unsigned int)std::time(nullptr));
auto r = get_random(1, 99) / M_PI / 100;
curl = curl_easy_init();
std::string s;
if (curl) {
do {
curl_easy_setopt(curl, CURLOPT_URL, "996K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6^5N6h3W2Q4x3X3g2H3N6r3I4G2k6$3W2F1x3W2)9J5k6i4q4I4i4K6u0W2j5$3!0E0i4K6u0r3j5$3N6A6i4K6u0V1j5X3W2F1i4K6u0r3P5r3I4G2k6$3W2F1i4K6y4r3L8r3W2F1K9#2)9#2k6Y4c8S2M7X3N6W2N6q4)9K6c8r3u0D9j5h3&6C8i4K6t1$3j5h3#2H3i4K6y4n7M7s2c8Q4y4h3k6V1K9i4y4S2j5X3I4W2i4K6g2X3M7s2N6V1i4K6y4p5x3g2)9J5y4X3q4E0M7q4)9K6b7X3q4H3M7r3W2V1i4K6y4p5y4K6p5$3x3o6t1%4y4U0l9I4i4K6t1$3j5h3#2H3i4K6y4n7k6r3q4A6k6q4)9K6c8o6x3%4y4#2)9J5y4X3q4E0M7q4)9K6b7Y4c8S2M7X3N6W2N6q4)9K6c8s2y4W2L8r3k6Q4x3U0k6S2L8i4m8Q4x3@1u0K6N6s2W2D9k6g2)9K6c8o6p5I4i4K6t1$3j5h3#2H3i4K6y4n7M7#2)9#2k6Y4g2J5L8q4)9K6c8r3S2@1N6s2m8K6i4K6t1#2x3@1q4Q4x3V1k6Q4x3V1k6U0L8$3&6F1k6h3y4@1i4K6u0W2M7i4q4Q4x3X3g2U0L8$3#2Q4x3V1k6%4K9h3c8Y4k6i4c8Q4x3V1k6K6K9r3q4J5k6i4q4I4i4K6u0r3M7%4g2U0j5$3g2K6M7#2)9J5k6h3S2@1L8h3H3`.");
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &s);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, CurlWrite_CallbackFunc_StdString);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); //only for https
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); //only for https
curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
curl_easy_setopt(curl, CURLOPT_VERBOSE, 0L); //remove this to disable verbose output
curl_easy_setopt(curl, CURLOPT_COOKIEFILE, "/xxtemp/cookies.txt");
curl_easy_setopt(curl, CURLOPT_COOKIEJAR, "/xxtemp/cookies.txt");
curl_easy_setopt(curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36");
curl_easy_setopt(curl, CURLOPT_REFERER, "726K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0L8$3&6F1k6h3y4@1i4K6u0W2M7i4q4Q4x3X3g2U0L8$3#2Q4x3V1k6%4K9h3c8Y4k6i4c8Q4x3V1k6K6K9r3q4J5k6i4q4I4i4K6u0r3K9h3&6V1k6i4S2Q4x3X3g2Z5N6r3#2D9i4K6y4r3N6i4u0D9i4K6y4p5K9s2c8@1M7s2y4Q4x3U0f1K6b7g2)9J5y4e0u0r3i4K6t1#2x3V1k6%4N6%4N6Q4x3X3g2T1K9h3I4A6j5X3W2D9K9g2)9J5k6h3y4G2L8b7`.`.");
res = curl_easy_perform(curl);
/* Check for errors */
if (res != CURLE_OK)
{
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
break;
}
std::string t_cookie_name = "Set-Cookie: pt_local_token=";
auto index = s.find(t_cookie_name);
if (index == std::string::npos)
break;
auto pt_local_token = s.substr(index + t_cookie_name.length(), s.find(";", index) - index - t_cookie_name.length());
std::string t_url = "0caK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6D9L8$3y4S2L8r3S2G2M7%4c8Q4x3X3g2H3N6r3I4G2k6$3W2F1x3W2)9J5k6i4q4I4i4K6u0W2j5$3!0E0i4K6y4m8y4o6x3H3x3g2)9J5c8Y4m8@1i4K6g2X3k6$3g2@1i4K6g2X3N6h3W2F1M7#2)9K6c8X3y4S2L8r3I4T1j5h3y4C8i4K6y4p5M7s2c8#2K9g2)9#2k6X3N6W2N6s2g2A6L8Y4y4Q4y4h3k6o6b7W2)9J5y4X3q4E0M7q4)9K6b7Y4u0Q4x3@1b7`.";
t_url.append(std::to_string(r));
t_url.append("&pt_local_tk=");
t_url.append(pt_local_token);
s.clear();
curl_easy_setopt(curl, CURLOPT_URL, t_url.c_str());
curl_easy_setopt(curl, CURLOPT_REFERER, "2deK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6^5N6h3W2Q4x3X3g2H3N6r3I4G2k6$3W2F1x3W2)9J5k6i4q4I4i4K6u0W2j5$3!0E0i4K6u0r3j5$3N6A6i4K6u0V1j5X3W2F1i4K6u0r3P5r3I4G2k6$3W2F1i4K6y4r3L8r3W2F1K9#2)9#2k6Y4c8S2M7X3N6W2N6q4)9K6c8r3u0D9j5h3&6C8i4K6t1$3j5h3#2H3i4K6y4n7M7s2c8Q4y4h3k6V1K9i4y4S2j5X3I4W2i4K6g2X3M7s2N6V1i4K6y4p5x3g2)9J5y4X3q4E0M7q4)9K6b7X3q4H3M7r3W2V1i4K6y4p5y4K6p5$3x3o6t1%4y4U0l9I4i4K6t1$3j5h3#2H3i4K6y4n7k6r3q4A6k6q4)9K6c8o6x3%4y4#2)9J5y4X3q4E0M7q4)9K6b7Y4c8S2M7X3N6W2N6q4)9K6c8s2y4W2L8r3k6Q4x3U0k6S2L8i4m8Q4x3@1u0K6N6s2W2D9k6g2)9K6c8o6p5I4i4K6t1$3j5h3#2H3i4K6y4n7M7#2)9#2k6Y4g2J5L8q4)9K6c8r3S2@1N6s2m8K6i4K6t1#2x3@1q4Q4x3V1k6Q4x3V1k6U0L8$3&6F1k6h3y4@1i4K6u0W2M7i4q4Q4x3X3g2U0L8$3#2Q4x3V1k6%4K9h3c8Y4k6i4c8Q4x3V1k6K6K9r3q4J5k6i4q4I4i4K6u0r3M7%4g2U0j5$3g2K6M7#2)9J5k6h3S2@1L8h3H3`.");
res = curl_easy_perform(curl);
/* Check for errors */
if (res != CURLE_OK)
{
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
break;
}
std::string t_var_sso_uin_list = "var_sso_uin_list=";
auto var_sso_uin_list_index = s.find(t_var_sso_uin_list);
if (var_sso_uin_list_index == std::string::npos)
break;
std::string var_sso_uin_list_s = s.substr(var_sso_uin_list_index + t_var_sso_uin_list.length(), s.find(";", var_sso_uin_list_index + t_var_sso_uin_list.length()) - var_sso_uin_list_index - t_var_sso_uin_list.length());
Json::CharReaderBuilder builder;
const std::unique_ptr<Json::CharReader> reader(builder.newCharReader());
Json::Value root;
JSONCPP_STRING err;
if (!reader->parse(var_sso_uin_list_s.c_str(), var_sso_uin_list_s.c_str() + var_sso_uin_list_s.length(), &root,
&err)) {
std::cout << "error" << std::endl;
break;
}
for (size_t i = 0; i < root.size(); i++) {
std::cout << root[i]["account"].asString() << std::endl;
t_url = "8d3K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6D9L8$3y4S2L8r3S2G2M7%4c8Q4x3X3g2H3N6r3I4G2k6$3W2F1x3W2)9J5k6i4q4I4i4K6u0W2j5$3!0E0i4K6y4m8y4o6x3H3x3g2)9J5c8Y4m8@1i4K6g2X3k6$3g2@1i4K6g2X3M7%4c8Q4x3@1k6U0L8r3W2W2L8Y4c8#2K9h3&6Q4x3@1b7`.";
t_url.append(root[i]["account"].asString());
t_url.append("&callback=ptui_getst_CB&r=");
t_url.append(std::to_string(r));
t_url.append("&pt_local_tk=");
t_url.append(pt_local_token);
s.clear();
curl_easy_setopt(curl, CURLOPT_URL, t_url.c_str());
curl_easy_setopt(curl, CURLOPT_REFERER, "efcK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6^5N6h3W2Q4x3X3g2H3N6r3I4G2k6$3W2F1x3W2)9J5k6i4q4I4i4K6u0W2j5$3!0E0i4K6u0r3j5$3N6A6i4K6u0V1j5X3W2F1i4K6u0r3P5r3I4G2k6$3W2F1i4K6y4r3L8r3W2F1K9#2)9#2k6Y4c8S2M7X3N6W2N6q4)9K6c8r3u0D9j5h3&6C8i4K6t1$3j5h3#2H3i4K6y4n7M7s2c8Q4y4h3k6V1K9i4y4S2j5X3I4W2i4K6g2X3M7s2N6V1i4K6y4p5x3g2)9J5y4X3q4E0M7q4)9K6b7X3q4H3M7r3W2V1i4K6y4p5y4K6p5$3x3o6t1%4y4U0l9I4i4K6t1$3j5h3#2H3i4K6y4n7k6r3q4A6k6q4)9K6c8o6x3%4y4#2)9J5y4X3q4E0M7q4)9K6b7Y4c8S2M7X3N6W2N6q4)9K6c8s2y4W2L8r3k6Q4x3U0k6S2L8i4m8Q4x3@1u0K6N6s2W2D9k6g2)9K6c8o6p5I4i4K6t1$3j5h3#2H3i4K6y4n7M7#2)9#2k6Y4g2J5L8q4)9K6c8r3S2@1N6s2m8K6i4K6t1#2x3@1q4Q4x3V1k6Q4x3V1k6U0L8$3&6F1k6h3y4@1i4K6u0W2M7i4q4Q4x3X3g2U0L8$3#2Q4x3V1k6%4K9h3c8Y4k6i4c8Q4x3V1k6K6K9r3q4J5k6i4q4I4i4K6u0r3M7%4g2U0j5$3g2K6M7#2)9J5k6h3S2@1L8h3H3`.");
res = curl_easy_perform(curl);
/* Check for errors */
if (res != CURLE_OK)
{
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
break;
}
t_url = "c53K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6K6M7$3I4Q4x3X3g2H3N6r3I4G2k6$3W2F1x3W2)9J5k6i4q4I4i4K6u0W2j5$3!0E0i4K6u0r3K9Y4g2E0M7q4)9K6c8X3y4D9K9h3g2F1N6s2g2A6L8W2)9K6c8l9`.`.";
t_url.append(root[i]["account"].asString());
t_url.append("&pt_local_tk=");
t_url.append(pt_local_token);
t_url.append("&keyindex=9&pt_aid=716027601&daid=377&u1=https%3A%2F%2Fconnect.qq.com%2Fwidget%2Fshareqq%2Fsuccess.html&pt_3rd_aid=0&ptopt=1&style=40&has_onekey=1");
s.clear();
curl_easy_setopt(curl, CURLOPT_URL, t_url.c_str());
curl_easy_setopt(curl, CURLOPT_REFERER, "e48K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6^5N6h3W2Q4x3X3g2H3N6r3I4G2k6$3W2F1x3W2)9J5k6i4q4I4i4K6u0W2j5$3!0E0i4K6u0r3j5$3N6A6i4K6u0V1j5X3W2F1i4K6u0r3P5r3I4G2k6$3W2F1i4K6y4r3L8r3W2F1K9#2)9#2k6Y4c8S2M7X3N6W2N6q4)9K6c8r3u0D9j5h3&6C8i4K6t1$3j5h3#2H3i4K6y4n7M7s2c8Q4y4h3k6V1K9i4y4S2j5X3I4W2i4K6g2X3M7s2N6V1i4K6y4p5x3g2)9J5y4X3q4E0M7q4)9K6b7X3q4H3M7r3W2V1i4K6y4p5y4K6p5$3x3o6t1%4y4U0l9I4i4K6t1$3j5h3#2H3i4K6y4n7k6r3q4A6k6q4)9K6c8o6x3%4y4#2)9J5y4X3q4E0M7q4)9K6b7Y4c8S2M7X3N6W2N6q4)9K6c8s2y4W2L8r3k6Q4x3U0k6S2L8i4m8Q4x3@1u0K6N6s2W2D9k6g2)9K6c8o6p5I4i4K6t1$3j5h3#2H3i4K6y4n7M7#2)9#2k6Y4g2J5L8q4)9K6c8r3S2@1N6s2m8K6i4K6t1#2x3@1q4Q4x3V1k6Q4x3V1k6U0L8$3&6F1k6h3y4@1i4K6u0W2M7i4q4Q4x3X3g2U0L8$3#2Q4x3V1k6%4K9h3c8Y4k6i4c8Q4x3V1k6K6K9r3q4J5k6i4q4I4i4K6u0r3M7%4g2U0j5$3g2K6M7#2)9J5k6h3S2@1L8h3H3`.");
res = curl_easy_perform(curl);
/* Check for errors */
if (res != CURLE_OK)
{
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
break;
}
std::string t_target_url = "ptui_qlogin_CB('0', '";
auto target_url_index = s.find(t_target_url);
if (target_url_index == std::string::npos)
break;
std::string target_url_s = s.substr(target_url_index + t_target_url.length(), s.find("'", target_url_index + t_target_url.length()) - target_url_index - t_target_url.length());
s.clear();
curl_easy_setopt(curl, CURLOPT_URL, target_url_s.c_str());
curl_easy_setopt(curl, CURLOPT_REFERER, "977K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6^5N6h3W2Q4x3X3g2H3N6r3I4G2k6$3W2F1x3W2)9J5k6i4q4I4i4K6u0W2j5$3!0E0i4K6u0r3j5$3N6A6i4K6u0V1j5X3W2F1i4K6u0r3P5r3I4G2k6$3W2F1i4K6y4r3L8r3W2F1K9#2)9#2k6Y4c8S2M7X3N6W2N6q4)9K6c8r3u0D9j5h3&6C8i4K6t1$3j5h3#2H3i4K6y4n7M7s2c8Q4y4h3k6V1K9i4y4S2j5X3I4W2i4K6g2X3M7s2N6V1i4K6y4p5x3g2)9J5y4X3q4E0M7q4)9K6b7X3q4H3M7r3W2V1i4K6y4p5y4K6p5$3x3o6t1%4y4U0l9I4i4K6t1$3j5h3#2H3i4K6y4n7k6r3q4A6k6q4)9K6c8o6x3%4y4#2)9J5y4X3q4E0M7q4)9K6b7Y4c8S2M7X3N6W2N6q4)9K6c8s2y4W2L8r3k6Q4x3U0k6S2L8i4m8Q4x3@1u0K6N6s2W2D9k6g2)9K6c8o6p5I4i4K6t1$3j5h3#2H3i4K6y4n7M7#2)9#2k6Y4g2J5L8q4)9K6c8r3S2@1N6s2m8K6i4K6t1#2x3@1q4Q4x3V1k6Q4x3V1k6U0L8$3&6F1k6h3y4@1i4K6u0W2M7i4q4Q4x3X3g2U0L8$3#2Q4x3V1k6%4K9h3c8Y4k6i4c8Q4x3V1k6K6K9r3q4J5k6i4q4I4i4K6u0r3M7%4g2U0j5$3g2K6M7#2)9J5k6h3S2@1L8h3H3`.");
res = curl_easy_perform(curl);
/* Check for errors */
if (res != CURLE_OK)
{
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
break;
}
//获取p_skey uin skey
std::string p_skey_name = "Set-Cookie: p_skey=";
auto p_skey_index = s.find(p_skey_name);
if (p_skey_index == std::string::npos)
break;
std::string p_skey = s.substr(p_skey_index + p_skey_name.length(), s.find(";", p_skey_index + p_skey_name.length()) - p_skey_index - p_skey_name.length());
std::string uin_name = "Set-Cookie: uin=";
auto uin_index = s.find(uin_name);
if (uin_index == std::string::npos)
break;
std::string uin = s.substr(uin_index + uin_name.length(), s.find(";", uin_index + uin_name.length()) - uin_index - uin_name.length());
std::string skey_name = "Set-Cookie: skey=";
auto skey_index = s.find(skey_name);
if (skey_index == std::string::npos)
break;
std::string skey = s.substr(skey_index + skey_name.length(), s.find(";", skey_index + skey_name.length()) - skey_index - skey_name.length());
s.clear();
curl_easy_setopt(curl, CURLOPT_URL, "01aK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6$3W2Q4x3X3g2U0L8$3&6F1k6h3y4@1i4K6u0W2M7i4q4Q4x3X3g2U0L8$3#2Q4x3V1k6H3M7X3!0^5P5g2)9J5k6h3S2@1L8h3I4Q4x3@1k6@1i4K6y4p5x3U0l9I4x3U0l9J5x3e0M7H3x3o6q4Q4x3U0k6S2L8i4m8Q4x3@1u0U0j5h3I4D9j5X3q4U0K9#2)9K6c8o6q4Q4x3U0k6S2L8i4m8Q4x3@1u0A6k6q4)9K6c8o6p5`.");
curl_easy_setopt(curl, CURLOPT_REFERER, "d0eK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0L8$3&6F1k6h3y4@1i4K6u0W2M7i4q4Q4x3X3g2U0L8$3#2Q4x3V1k6%4K9h3c8Y4k6i4c8Q4x3V1k6K6K9r3q4J5k6i4q4I4i4K6u0r3K9h3&6V1k6i4S2Q4x3X3g2Z5N6r3#2D9i4K6y4r3N6i4u0D9i4K6y4p5K9s2c8@1M7s2y4Q4x3U0f1K6b7g2)9J5y4e0u0r3i4K6t1#2x3V1k6%4N6%4N6Q4x3X3g2T1K9h3I4A6j5X3W2D9K9g2)9J5k6h3y4G2L8b7`.`.");
std::string cookies = "p_skey=";
cookies.append(p_skey);
cookies.append("; uin=");
cookies.append(uin);
cookies.append("; skey=");
cookies.append(skey);
cookies.append(";");
curl_easy_setopt(curl, CURLOPT_COOKIE, cookies.c_str());
::Sleep(3000);//后面这里太快,调用接口会404,官方自己也有这个问题
res = curl_easy_perform(curl);
/* Check for errors */
if (res != CURLE_OK)
{
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
break;
}
std::string is_first = "4ebK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6$3W2Q4x3X3g2U0L8$3&6F1k6h3y4@1i4K6u0W2M7i4q4Q4x3X3g2U0L8$3#2Q4x3V1k6I4M7h3y4G2L8X3&6W2j5%4c8G2M7r3g2F1i4K6u0r3K9i4y4Q4y4h3k6X3K9i4u0K6N6q4)9K6c8Y4c8Q4x3@1b7`.";
is_first.append(std::to_string(std::time(nullptr)));
s.clear();
curl_easy_setopt(curl, CURLOPT_URL, is_first.c_str());
curl_easy_setopt(curl, CURLOPT_REFERER, "83bK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6$3W2Q4x3X3g2U0L8$3&6F1k6h3y4@1i4K6u0W2M7i4q4Q4x3X3g2U0L8$3#2Q4x3V1k6H3M7X3!0^5P5g2)9J5k6h3S2@1L8h3I4Q4x3@1k6@1i4K6y4p5x3U0l9I4x3U0l9J5x3e0M7H3x3o6q4Q4x3U0k6S2L8i4m8Q4x3@1u0U0j5h3I4D9j5X3q4U0K9#2)9K6c8o6q4Q4x3U0k6S2L8i4m8Q4x3@1u0A6k6q4)9K6c8o6p5`.");
::Sleep(3000);
res = curl_easy_perform(curl);
/* Check for errors */
if (res != CURLE_OK)
{
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
break;
}
std::string get_user_friends = "f77K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6$3W2Q4x3X3g2U0L8$3&6F1k6h3y4@1i4K6u0W2M7i4q4Q4x3X3g2U0L8$3#2Q4x3V1k6I4M7h3y4G2L8X3&6W2j5%4c8G2M7r3g2F1i4K6u0r3L8%4m8W2L8X3q4H3K9g2)9J5c8X3N6W2N6q4)9#2k6Y4g2K6k6i4u0Q4y4h3k6X3M7X3W2W2L8X3c8K6i4K6y4r3N6q4)9K6c8l9`.`.";
get_user_friends.append(std::to_string(std::time(nullptr)));
s.clear();
curl_easy_setopt(curl, CURLOPT_URL, get_user_friends.c_str());
curl_easy_setopt(curl, CURLOPT_REFERER, "a95K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0k6$3W2Q4x3X3g2U0L8$3&6F1k6h3y4@1i4K6u0W2M7i4q4Q4x3X3g2U0L8$3#2Q4x3V1k6H3M7X3!0^5P5g2)9J5k6h3S2@1L8h3I4Q4x3@1k6@1i4K6y4p5x3U0l9I4x3U0l9J5x3e0M7H3x3o6q4Q4x3U0k6S2L8i4m8Q4x3@1u0U0j5h3I4D9j5X3q4U0K9#2)9K6c8o6q4Q4x3U0k6S2L8i4m8Q4x3@1u0A6k6q4)9K6c8o6p5`.");
curl_easy_setopt(curl, CURLOPT_COOKIE, cookies.c_str());
::Sleep(3000);
res = curl_easy_perform(curl);
/* Check for errors */
if (res != CURLE_OK)
{
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
break;
}
s = UTF8ToGBEx(s.c_str());
std::cout << s << std::endl;
}
} while (false);
/* always cleanup */
curl_easy_cleanup(curl);
}
std::cout << "Program finished!" << std::endl;
return 0;
}
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2020-5-6 13:39
被hellogavin编辑
,原因: 添加 [原创]