ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |

26.02.2010, 22:34
|
|
Новичок
Регистрация: 17.09.2009
Сообщений: 18
Провел на форуме: 884969
Репутация:
11
|
|
Пост-запрос libcurl C++
Есть код из примера:
PHP код:
#include <stdio.h>
#include <curl/curl.h>
int main(void) {
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl)
{
curl_easy_setopt(curl, CURLOPT_URL, "http://postit.example.com/moo.cgi");
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "name=daniel&project=curl");
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
return 0;
}
Как сделать запрос со своими данными?
Например:
PHP код:
#include <string>
...
string email="test@mail.ru";
string pass="password";
...
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "email="+email+"&pass="+pass); ...
Так не получается, в снифере пустой пост запрос.
И еще при указании :
string cookie;
curl_easy_setopt(curl, CURLOPT_COOKIE, cookie);
Куки не сохраняются в переменную. Как исправить?
|
|
|

26.02.2010, 22:54
|
|
Новичок
Регистрация: 20.09.2008
Сообщений: 29
Провел на форуме: 528520
Репутация:
13
|
|
Код:
curl_easy_setopt(curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, writer);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &body);
curl_easy_setopt(curl, CURLOPT_URL, "http://url");
curl_easy_setopt(curl, CURLOPT_HEADER,1);
curl_easy_setopt(curl, CURLOPT_POST, 1);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "запрос");
curl_easy_setopt(curl, CURLOPT_COOKIEFILE, &cookies);
curl_easy_perform(curl); // посылаем
Код:
static int writer(char *data, size_t size, size_t nmemb, string *buffer)
{
int result = 0;
if (buffer != NULL)
{
buffer->append(data, size * nmemb);
result = size * nmemb;
}
return result;
}
Врайтер.
передавай ее как ссылку.
&cookie
|
|
|

26.02.2010, 23:25
|
|
Новичок
Регистрация: 17.09.2009
Сообщений: 18
Провел на форуме: 884969
Репутация:
11
|
|
Спасибо.
Пост запрос будет работать так:
Код:
static char *s="...";
curl_easy_setopt(curl, CURLOPT_POST, 1);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, s);
А со string не получается.
|
|
|

26.02.2010, 23:40
|
|
Новичок
Регистрация: 20.09.2008
Сообщений: 29
Провел на форуме: 528520
Репутация:
13
|
|
string req ="запрос";
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, req.c_str());
|
|
|

27.02.2010, 10:26
|
|
Постоянный
Регистрация: 29.10.2008
Сообщений: 306
Провел на форуме: 1819761
Репутация:
180
|
|
Сообщение от Скотти
И еще при указании :
string cookie;
curl_easy_setopt(curl, CURLOPT_COOKIE, cookie);
Куки не сохраняются в переменную.
Они и не должны сохраняться, наоборот они берутся из переменной при использовании CURLOPT_COOKIE.
Сообщение от Spy2ex
curl_easy_setopt(curl, CURLOPT_COOKIEFILE, &cookies);
Это если куки из файла загружать, а если просто нужно включить их автосохранение, то не обязательно использовать переменную cookies.
Код:
curl_easy_setopt(curl, CURLOPT_COOKIEFILE, "");
|
|
|
|
 |
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Пост запрос на CURL
|
Margin |
PHP, PERL, MySQL, JavaScript |
6 |
09.02.2010 01:15 |
|
[c++] [firefox] скрытый переход по линку
|
qsd |
С/С++, C#, Delphi, .NET, Asm |
17 |
06.01.2010 15:45 |
|
пост запрос
|
yfet |
С/С++, C#, Delphi, .NET, Asm |
1 |
18.11.2009 18:14 |
|
Коды состояния HTTP - Коды ошибок http сервера
|
D=P=CH= MOD= |
*nix |
6 |
15.10.2006 20:47 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|