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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.89
den-x
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 16
#1

Отправка POST запроса через соксы - C++

07.04.2012, 08:03. Просмотров 2341. Ответов 8
Метки нет (Все метки)

Здравствуйте! Помогите с отправкой запросов в С++ без cURL, через соксы.
Есть PHP: http://den-x.comule.com/act.php
На него надо отправить POST запрос user=tester,в ответ он должен выдать tester.
Сам код возвращаемой страницы записать в файл.

Добавлено через 16 часов 20 минут
Ошибся, через сокеды.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2012, 08:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Отправка POST запроса через соксы (C++):

Отправка более, чем одного POST запроса - C++
Помогите написать код, отправки Post запросов многопоточно, С возможностью выбора количества потоков(мин=1 макс=9999) $sdomain =...

Отправка GET и POST запросов - C++
Привет всем. Вот такой вопрос у меня: как на с++ 6 реализовать отправку GET, POST запросов. Хотелось бы увидеть пример самого простого...

Создание GET или POST запроса - C++
Всем привет. Подскажите, как создать гет или пост запрос на сайт? Например, адрес сайта http://site.ru и нужно сделать запрос вида...

Отправка GET запроса без установки дополнительных библиотек - C++
Подскажите простенький пример отправки GET запроса к примеру сюда cyberforum.ru/index.php без установки дополнительных библиотек вроде...

Тело POST запроса. Как самому узнать, что там должно быть? - C++
Всем здрасти! У меня следующая делема... Нагуглил POST запрос на авторизацию на одноклассниках. Тело POST запроса имеет следующий...

Отправка данных через сокет - C++
Речь идёт о сетевом сокете. (QTcpSocket) Значит пишу я на клиенте данные в сокет маленькими пакетами по нажатию на некоторую кнопку GUI. ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
igorrr37
1646 / 1274 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
07.04.2012, 09:47 #2
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
#include <iostream>
#include <string>
#include <boost/asio.hpp>
typedef boost::asio::ip::tcp tcp;
 
int main()
{
    std::string host = "den-x.comule.com";
    try{
        boost::asio::io_service io;
        tcp::resolver resolver(io);
        tcp::socket sock(io);
        boost::system::error_code err;
        boost::asio::streambuf buf;
        std::ostream reqStream(&buf);
        std::istream respStream(&buf);
        tcp::resolver::query q(host, "http");
        tcp::resolver::iterator it = resolver.resolve(q, err), itEnd;
        if (err)
        {
            std::cerr<<"resolve() failed:\n"<<err.message()<<"\n";
            return __LINE__;
        }
        err = boost::asio::error::host_not_found;
        while (err && it != itEnd)
        {
            sock.close();
            sock.connect(*it++, err);
        }
        if (err)
        {
            std::cerr << "connect() failed\n";
            return __LINE__;
        }
        std::string body("user=tester");
        reqStream << "POST /act.php HTTP/1.1\r\n"
            << "Host: " << host << "\r\n"
            << "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.25) Gecko/20111212 Firefox/3.6.25 sputnik 2.5.1.2\r\n"
            << "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n"
            << "Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n"
            << "Accept-Encoding: gzip,deflate\r\n"
            << "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n"
            << "Keep-Alive: 115\r\n"
            << "Connection: keep-alive\r\n"
            << "Referer: http://den-x.comule.com\r\n"
            << "Content-Type: application/x-www-form-urlencoded\r\n"
            << "Content-Length: " << body.size() << "\r\n\r\n"
            << body;
        boost::asio::write(sock, buf);
        boost::asio::read(sock, buf, err);
        if(err != boost::asio::error::eof) std::cerr << "read() failed\n";
        std::cout << &buf << std::endl;
        sock.shutdown(tcp::socket::shutdown_both);
        sock.close();
    }
    catch (const std::exception& e)
    {
        std::cerr << "Exception: " << e.what() << std::endl;
    }
    return 0;
}
Миниатюры
Отправка POST запроса через соксы  
den-x
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 16
10.04.2012, 13:52  [ТС] #3
Дайте либы boost'a инклуды я скачал, а либ не нащёл.
Avazart
Эксперт С++
7150 / 5327 / 276
Регистрация: 10.12.2010
Сообщений: 23,576
Записей в блоге: 17
10.04.2012, 14:13 #4
Кстати кто-то пробовал #include <boost/asio.hpp> на RAD Studio, это только у меня ругается?
igorrr37
1646 / 1274 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
10.04.2012, 18:39 #5
вот либы под MinGW
http://ifolder.ru/29849250
den-x
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 16
12.04.2012, 17:45  [ТС] #6
Мне под VC++
Avazart
Эксперт С++
7150 / 5327 / 276
Регистрация: 10.12.2010
Сообщений: 23,576
Записей в блоге: 17
12.04.2012, 17:53 #7
под VC++ есть инсталятор boost кстати, где-то в теме по установке есть ссылка.
den-x
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 16
16.04.2012, 17:52  [ТС] #8
Инистилятор не нашёл, кстати с самого начала я писал что мне нужно через winsock2.h
Дайте мне код, то гуглил вин сокеды так и не сгуглил
Avazart
Эксперт С++
7150 / 5327 / 276
Регистрация: 10.12.2010
Сообщений: 23,576
Записей в блоге: 17
16.04.2012, 18:24 #9
http://www.boostpro.com/download/
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.04.2012, 18:24
Привет! Вот еще темы с ответами:

Отправка смс через сайт - C++
Можно ли органиовать такую штуку : когда запускаешь программу,там поле куда вводить текст,вводишь текс,жмёшь &quot;ОК&quot;, заходил сюда,и...

Отправка файла на хост через CURL - C++
Уже пару дней мучаюсь с отправкой пикчи на хост, уже кучу разного перепробовал, и в base64 через пост-запрос, и через бусты, получается...

Отправка символа " через сокеты - C++
Как через сокеты отправить символ &quot; ?

Отправка POST запроса через Ajax - jQuery
Добрый день, Я новичок в jQuery и Ajax соответственно. На сайте потребовался калькулятор, для расчета доставки, данные по...


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

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

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