У меня есть LibCURL, получающий источник страницы из Интернета, проходящий через него и сбор данных.Как получить «полный источник» страницы?
Все работает отличный бар на одной странице. У меня была эта проблема во время тестирования в автономном режиме при использовании ifstream и источника страницы, сохраненных в файле .html. в основном, что происходит. Я думаю, что веб-страница отображает html + данные, части, которые я хочу через js-вызовы (не на 100% уверены в этом), поэтому он не отображается непосредственно в источнике.
Как я обошел это в автономном тестировании, было загрузить полную веб-страницу в виде файла автономного режима в Safari, я считаю, что он был назван файлом .webarchive? Таким образом, когда я рассматривал его как исходный код, html и данные были отображены в источнике.
Я пробовал интернет для ответа, но, похоже, не могу найти его, может ли кто-нибудь помочь мне здесь, в условиях завивки, чтобы загрузить веб-страницу в ее «полноте»?
Вот какие варианты я использую в настоящее время.
curl_easy_setopt(this->curl, CURLOPT_URL, url);
curl_easy_setopt(this->curl, CURLOPT_FOLLOWLOCATION, 1);
curl_easy_setopt(this->curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20100101 Firefox/24.0");
curl_easy_setopt(this->curl, CURLOPT_COOKIEFILE, "cookies.txt");
curl_easy_setopt(this->curl, CURLOPT_COOKIEJAR, "cookies.txt");
curl_easy_setopt(this->curl, CURLOPT_POSTFIELDS, postData); // if needed
curl_easy_setopt(this->curl, CURLOPT_WRITEFUNCTION, this->WriteCallback);
curl_easy_setopt(this->curl, CURLOPT_WRITEDATA, &readBuffer);
res = curl_easy_perform(this->curl);
при использовании элемента проверки firefox я могу получить источник в порядке. iv отследил его, и, похоже, JS, есть два тега div, показанный 1, когда его загрузка и вторая показаны при его загрузке. также js автоматически вызывается переменной GET, посланной по URL-адресу, например page.php? a = 1 & b = 2, это займет всего несколько секунд после загрузки, чтобы показать?
– Makka