Я использую cURL для очистки веб-страниц, но мне кажется, что я могу только очистить URL-адреса верхнего уровня.Например, если я хочу свернуть URL-адрес "http://www.businessweek.com/news/2010-09-29/flaherty-says-canada-july-gdp-report-tomorrow-may-be-negative.html", то он ничего не возвращает (как если бы это была пустая страница).
Это мой код C:
#include <stdio.h> #include <curl/curl.h> int main(void) { CURL *curl; CURLcode res; curl = curl_easy_init(); if(curl) { //THIS WORKS //curl_easy_setopt(curl, CURLOPT_URL, "news.google.com"); //THIS DOESN'T WORK curl_easy_setopt(curl, CURLOPT_URL, "http://www.businessweek.com/news/2010-09-29/flaherty-says-canada-july-gdp-report-tomorrow-may-be-negative.html"); res = curl_easy_perform(curl); curl_easy_cleanup(curl); } return 0; }
Если бы я мог получить некоторую информацию по этому вопросу, это было бы здорово.
Это потому, что сайт отправляет 301. Установите CURLOPT_FOLLOWLOCATION на 1, чтобы следовать за ними автоматически.
CURLOPT_FOLLOWLOCATION
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1);