2012-03-26 9 views
0

Мне было интересно, какая библиотека доступна для отправки и получения http в C?Какую библиотеку использовать для http?

Я хотел бы создать программу, которая будет загружать веб-сайт. Программа, которая будет загружать Yahoo одним нажатием кнопки. Программа, которая будет продвигать меня для поиска, и когда я войду в нее, и она перейдет к первым результатам Google и отобразит информацию.

+0

Вы определенно обеспокоены [HTTPS] (http://en.wikipedia.org/wiki/Https) (зашифрованного HTTP) или вы имели в виду простой ПР»[HTTP] (HTTP: // эн. wikipedia.org/wiki/Http)? –

+0

Я имел в виду HTTP. Спасибо за исправление. –

+0

Нужно ли быть C, может ли это C++? Тебе все равно, на чем оно написано? – Mikhail

ответ

5

Вы можете использовать curl.

Существует демонстрация.

#include <stdio.h> 
#include <curl/curl.h> 
#include <stdlib.h> 
#include <unistd.h> 

size_t write_func(void *ptr, size_t size, size_t nmemb, void *userdata) 
{ 
     write(STDOUT_FILENO, ptr, size*nmemb); 
     return size*nmemb; 
} 

int main(int argv, char *argc[]) 
{ 
     CURL *curl; 
     if (argv != 2) { 
       return 0; 
     } 
     curl = curl_easy_init(); 
     if (!curl) { 
       fprintf(stderr, "curl_easy_init error"); 
     } 
     curl_easy_setopt(curl, CURLOPT_URL, argc[1]); 
     curl_easy_setopt(curl, CURLOPT_HEADER, 1); 
     curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_func); 
     curl_easy_perform(curl); 
     curl_easy_cleanup(curl); 
     return 0; 
} 
+0

Скажем, я попытался скомпилировать это на машине Windows, но он дал мне ошибку 'fatal error: curl/curl.h: такой компиляции файла или каталога не было завершено.' –

+0

Это не повод не использовать его. Дайте больше информации, @LearningC. –

+1

@Learning C, возможно, эта ссылка поможет вам. Http: //stackoverflow.com/questions/197444/building-libcurl-with-ssl-support-on-windows – looyao