Проблемы с использованием cURL с C и URL не верхнего уровня - PullRequest
1 голос
/ 30 сентября 2010

Я использую 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;
}

Если бы я мог получить некоторую информацию по этому вопросу, это было бы здорово.

1 Ответ

5 голосов
/ 30 сентября 2010

Это потому, что сайт отправляет 301. Установите CURLOPT_FOLLOWLOCATION на 1, чтобы следовать за ними автоматически.

curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1);
...