Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 37, средняя оценка - 4.81
Iamweb
0 / 0 / 0
Регистрация: 27.01.2013
Сообщений: 62
#1

Работа с CURL - C++

25.08.2013, 22:42. Просмотров 5474. Ответов 53
Метки нет (Все метки)

Люди, подскажите, как можно прикрутить библиотеку curl к IDЕ Dеv Cплюс плюс . Очень нужно. И желательно все детально расписать :-), и где ее (библиотеку)скачать, нужно именно на Dеv Cплюс плюс , так как скачать другие у меня пока скорость интернета не позволяет

Добавлено через 13 минут
Что никак нельзя сделать? :-(

Добавлено через 19 секунд
Что никак нельзя сделать? :-(

Добавлено через 48 секунд
Что никак нельзя?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.08.2013, 22:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с CURL (C++):

CURL *curl; - C++
CURL *curl; опишите подробно что здесь все это значит. Я на php только профи.

Curl, Useragent - C++
как в curl передавать "настоящий" useragent? на php так: $_SERVER а на с++? ... ...

Curl и codeblocks - C++
Опять вопрос про подключение библиотеки! На этот раз пытаюсь подключить curl в CodeBlocks. Беру отсюда...

Библиотека cURL - C++
Здравствуйте, подскажите как подключить curl к visual studio? Ясно и точно пожалуйста, что бы было все понятно.

Твитнуть через cURL - C++
Всем привет! Хочу твитнуть используя следующий код: int main() { setlocale(LC_ALL,""); std::string twit("Hello world!");...

Установка Curl на Dev C++ - C++
Здраствуйте, пытаюсь уже 3й день установить curl на Dev C++ но безуспешно, перерыл кучу инструкций, скачивал с официального сайта....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.08.2013, 22:56 #31
Iamweb, как там подключение? Получилось?
Iamweb
0 / 0 / 0
Регистрация: 27.01.2013
Сообщений: 62
27.08.2013, 23:28  [ТС] #32
Цитата Сообщение от alsav22 Посмотреть сообщение
Разбирайтесь со скачиванием и вот вам инструкция по подключению curl, пробуйте. Будут вопросы - отвечу через час.
После установки среды, проверьте, как она работает. Создайте проект Console Application, скомпилируйте, запустите. Если всё нормально, то подключайте curl. Если нужно только для этого проекта, то делайте всё в настройках проекта 1 скрин (правой кнопкой по имени проекта, Build optons). Если для всех проектов, то в общих настройках компилятора: Settings - Compiler.
2 скрин: здесь прописать путь к папке include библиотеки.
3 скрин: здесь прописать путь к папке lib64 библиотеки.
4.скрин: здесь добавить (через Add) пути к каждой библиотеке в папке lib64 (выделить все и открыть).
Вставить это код, для проверки:

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
//подключаем необходимые заголовочные файлы
#include <string>
#include <iostream>
#include "curl/curl.h"
using namespace std;
 
//объявляем буфер, для хранения возможной ошибки, размер определяется в самой библиотеке
static char errorBuffer[CURL_ERROR_SIZE];
 
//объялвяем буфер принимаемых данных
static string buffer;
 
//функция обратного вызова
static int writer(char *data, size_t size, size_t nmemb, string *buffer)
{
  //переменная - результат, по умолчанию нулевая
  int result = 0;
  //проверяем буфер
  if (buffer != NULL)
  {
    //добавляем к буферу строки из data, в количестве nmemb
    buffer->append(data, size * nmemb);
    //вычисляем объем принятых данных
    result = size * nmemb;
  }
  //вовзращаем результат
  return result;
}
 
//главная функция
int main(void)
{
    setlocale(0, "");
    //необходимые CURL объекты
    CURL *curl;
    CURLcode result;
    //инициализируем curl
    curl = curl_easy_init();
    //проверяем результат инициализации
    if (curl)
    {
      //задаем все необходимые опции
      //определяем, куда выводить ошибки
      curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errorBuffer);
      //задаем опцию - получить страницу по адресу [url]http://cyberforum.ru[/url]
      curl_easy_setopt(curl, CURLOPT_URL, "cyberforum.ru");
      //указываем прокси сервер
      //curl_easy_setopt(curl, CURLOPT_PROXY, "proxy:8080");
      //задаем опцию отображение заголовка страницы
      curl_easy_setopt(curl, CURLOPT_HEADER, 1);
      //указываем функцию обратного вызова для записи получаемых данных
      curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, writer);
      //указываем куда записывать принимаемые данные
      curl_easy_setopt(curl, CURLOPT_WRITEDATA, &buffer);
      //запускаем выполнение задачи
      result = curl_easy_perform(curl);
      //проверяем успешность выполнения операции
      if (result == CURLE_OK)
      //выводим полученные данные на стандартный вывод (консоль)
        cout << buffer << "\n";
      else
        //выводим сообщение об ошибке
        cout << "Ошибка! " << errorBuffer << endl;
  }
  //завершаем сессию
  curl_easy_cleanup(curl);
  return 0;
}


Скомпилировать (пока не запускать). Если всё нормально, то скопировать в папку bin/debug проекта (там, где лежит .exe) dll-ки из папки bin библиотеки. Запустить программу.
что то всеровно вот эту ошибку выдает

||=== hello, Debug ===|
obj\Debug\main.o||In function `main':|
C:\Users\Николай\Desktop\hello\hello\main.cpp|38|undefined reference to `_imp__curl_easy_init'|
C:\Users\Николай\Desktop\hello\hello\main.cpp|44|undefined reference to `_imp__curl_easy_setopt'|
C:\Users\Николай\Desktop\hello\hello\main.cpp|46|undefined reference to `_imp__curl_easy_setopt'|
C:\Users\Николай\Desktop\hello\hello\main.cpp|50|undefined reference to `_imp__curl_easy_setopt'|
C:\Users\Николай\Desktop\hello\hello\main.cpp|52|undefined reference to `_imp__curl_easy_setopt'|
C:\Users\Николай\Desktop\hello\hello\main.cpp|54|undefined reference to `_imp__curl_easy_setopt'|
C:\Users\Николай\Desktop\hello\hello\main.cpp|56|undefined reference to `_imp__curl_easy_perform'|
C:\Users\Николай\Desktop\hello\hello\main.cpp|66|undefined reference to `_imp__curl_easy_cleanup'|
||=== Build finished: 8 errors, 0 warnings (0 minutes, 2 seconds) ===|

Добавлено через 26 минут
Цитата Сообщение от alsav22 Посмотреть сообщение
Iamweb, как там подключение? Получилось?
а вот, у вас в выподаюшем меню selected compiler выбран компилятор mingw64, у меня не имеется токого в списке
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.08.2013, 23:57 #33
Цитата Сообщение от Iamweb Посмотреть сообщение
а вот, у вас в выподаюшем меню selected compiler выбран компилятор mingw64, у меня не имеется токого в списке
На это не смотрите.

Добавлено через 52 секунды
Цитата Сообщение от Iamweb Посмотреть сообщение
всеровно вот эту ошибку выдает
Кто выдаёт? Code Blocks?

Добавлено через 1 минуту
Где настройки делали, в проекте или в общих?

Добавлено через 2 минуты
В 19 посте скрины, выложите такие же свои (кроме первого), чтобы я мог видеть, как у вас настроено.
Iamweb
0 / 0 / 0
Регистрация: 27.01.2013
Сообщений: 62
28.08.2013, 00:17  [ТС] #34
Цитата Сообщение от alsav22 Посмотреть сообщение
На это не смотрите.

Добавлено через 52 секунды

Кто выдаёт? Code Blocks?

Добавлено через 1 минуту
Где настройки делали, в проекте или в общих?

Добавлено через 2 минуты
В 19 посте скрины, выложите такие же свои (кроме первого), чтобы я мог видеть, как у вас настроено.
да code::blocks выдает

настрайвал, проекта

скрины
Миниатюры
Работа с CURL   Работа с CURL  
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.08.2013, 00:31 #35
Понятно. По первому скрину: уберите вторую строчку (на моих скринах разве есть?), путь к либам не тут нужно добавлять, тут только путь до инклудов, к либам путь там добавьте, где написано: Linker. Когда добавляете пути, то будет вопрос: да-нет, выбирайте нет, чтобы путь полный прописался (без ..\..\, как на скрине, а как у меня чтобы было).
По второму скрину: удалите всё и по новой добавьте пути, но так, чтобы пути полные были (как у меня на четвёртом).

Добавлено через 3 минуты
Как сделаете, запустите перестроить. Если не получится, то опять скрины с настройками выложите (только не два, а три, как у меня (без первого), смотрите внимательнее). Работа с CURL
Iamweb
0 / 0 / 0
Регистрация: 27.01.2013
Сообщений: 62
28.08.2013, 00:43  [ТС] #36
Цитата Сообщение от alsav22 Посмотреть сообщение
Понятно. По первому скрину: уберите вторую строчку (на моих скринах разве есть?), путь к либам не тут нужно добавлять, тут только путь до инклудов, к либам путь там добавьте, где написано: Linker. Когда добавляете пути, то будет вопрос: да-нет, выбирайте нет, чтобы путь полный прописался (без ..\..\, как на скрине, а как у меня чтобы было).
По второму скрину: удалите всё и по новой добавьте пути, но так, чтобы пути полные были (как у меня на четвёртом).

Добавлено через 3 минуты
Как сделаете, запустите перестроить. Если не получится, то опять скрины с настройками выложите (только не два, а три, как у меня (без первого), смотрите внимательнее). Работа с CURL
таже самая ошибка

obj\Debug\main.o||In function `main':|
C:\Users\Николай\Desktop\hello\curl\main.cpp|38|undefined reference to `_imp__curl_easy_init'|
C:\Users\Николай\Desktop\hello\curl\main.cpp|44|undefined reference to `_imp__curl_easy_setopt'|
C:\Users\Николай\Desktop\hello\curl\main.cpp|46|undefined reference to `_imp__curl_easy_setopt'|
C:\Users\Николай\Desktop\hello\curl\main.cpp|50|undefined reference to `_imp__curl_easy_setopt'|
C:\Users\Николай\Desktop\hello\curl\main.cpp|52|undefined reference to `_imp__curl_easy_setopt'|
C:\Users\Николай\Desktop\hello\curl\main.cpp|54|undefined reference to `_imp__curl_easy_setopt'|
C:\Users\Николай\Desktop\hello\curl\main.cpp|56|undefined reference to `_imp__curl_easy_perform'|
C:\Users\Николай\Desktop\hello\curl\main.cpp|66|undefined reference to `_imp__curl_easy_cleanup'|
||=== Build finished: 8 errors, 0 warnings (0 minutes, 0 seconds) ===|

Русские буквы в пути, не могут быть причиной?
Миниатюры
Работа с CURL   Работа с CURL   Работа с CURL  

alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.08.2013, 00:46 #37
Вы какой код пробуете? Что-то он у вас маленький, 17 строк... Не тот, который я выложил?
Iamweb
0 / 0 / 0
Регистрация: 27.01.2013
Сообщений: 62
28.08.2013, 00:48  [ТС] #38
Цитата Сообщение от alsav22 Посмотреть сообщение
Вы какой код пробуете? Что-то он у вас маленький, 17 строк... Не тот, который я выложил?
именно тот который вы дали, где 17 строк, я пробовал тестить своим, результат тот же
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.08.2013, 00:59 #39
ОС какая?
Iamweb
0 / 0 / 0
Регистрация: 27.01.2013
Сообщений: 62
28.08.2013, 01:04  [ТС] #40
Цитата Сообщение от alsav22 Посмотреть сообщение
ОС какая?
windows7 x64
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.08.2013, 01:09 #41
Сейчас проверю с другим компилятором.
Iamweb
0 / 0 / 0
Регистрация: 27.01.2013
Сообщений: 62
28.08.2013, 01:12  [ТС] #42
Цитата Сообщение от alsav22 Посмотреть сообщение
Сейчас проверю с другим компилятором.
хорошо
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.08.2013, 02:29 #43
Вот отсюда скачайте компилятор, я его проверил, с ним должно получиться (будем надеяться):
http://sourceforge.net/projects/ming...ads-posix/seh/
Компилятор: x64-4.8.0-release-posix-seh-rev2.7z .
Как скачаете, объясню, как подключить его к среде.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.08.2013, 04:40 #44
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Как подключить компилятор к Code Blocks.
Отркывете проект для curl. В общих настройках (1), жмёте Copy (2), пишите имя для нового компилятора (любое), ставите галочку в свойствах компилятора (2). Прописываете, через обзор, путь к папке bin нового компилятора (3) (Auto-detect НЕ жмите).
Через обзор, вставляете имена файлов .exe из папки bin нового компилятора (4). Прописываете пути к папкам include и lib нового компилятора (5, 6). После этого жмёте на Set as default и Ok. Потом, в Build options... проекта (7), в выпадающем списке, находите этот компилятор (может уже будет выставлен, тогда не нужно) (8), проверяете настройки проекта для curl, жмёте Ok. Делаете Clean и Rebuild проекта.
Миниатюры
Работа с CURL   Работа с CURL   Работа с CURL  

Работа с CURL   Работа с CURL   Работа с CURL  

Работа с CURL   Работа с CURL  
Avazart
28.08.2013, 12:30     Работа с CURL
  #45

Не по теме:

Для справки http://www.cyberforum.ru/blogs/131347/blog1151.html

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.08.2013, 12:30
Привет! Вот еще темы с ответами:

Подключить CURL к MSVC - C++
Не могу подключить curl из урока http://www.cyberforum.ru/blogs/131347/blog1151.html Без понятие, что и куда скидывать. Уже напихал всё,...

CURL и шифрование трафика - C++
Всем привет. Я работаю с недоступным мне сервером с помощью curl, c++, windows. Как обычно подготавливаю запросы и отправляю,...

Как подключить CURL? - C++
Как подключить CURL к MSVS? У меня ступор, начиная от того какой архив качать

CURL + MinGW + CodeBlocks - C++
Помогите пожалуйста установить Curl... Измучился уже. Весь ГУГЛ перерыл. Пытался сделать по этой схеме: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
28.08.2013, 12:30
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru