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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
turbobox
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 11
#1

Хелп с POST на C++ - C++

21.01.2012, 19:41. Просмотров 1554. Ответов 1
Метки нет (Все метки)

Друзья. Помогите переписать код на C++
Код
$sDomain = 'ХХХ.ХХХ.ХХХ.50' ;домен или ip-адрес
$iPort = 80 ;порт
$sParameters = 'user%5Blogin%5D='&GUICtrlRead($input1)&'&user%5Bpassword%5D='&GUICtrlRead($input2)&'&user%5Bpassword_confirmation%5D='&GUICtrlRead($input2)&'&user%5Bnickname%5D='&GUICtrlRead($input1)&'&user%5Bemail%5D='&GUICtrlRead($input3)&'&user%5Bemail_confirmation%5D='&GUICtrlRead($input3)&'&user%5Bbirthday%283i%29%5D=1&user%5Bbirthday%282i%29%5D=1&user%5Bbirthday%281i%29%5D=1991&user%5Bgender%5D=m&user%5Bcountry_id%5D=36&user%5Bnewsletter%5D=0&user%5Bterms_of_service%5D=0&user%5Bterms_of_service%5D=1&user%5Busedform%5D=usernew'

;Запрос, который будет отправлен серверу
$sRequest = 'POST /users HTTP/1.1' & @CRLF ;Request-строка
$sRequest &= 'Accept: text/html, application/xhtml+xml, */*' & @CRLF
$sRequest &= 'Referer: http://ХХХХХХХ.com/users/new' & @CRLF
$sRequest &= 'Accept-Language: ru' & @CRLF
$sRequest &= 'User-Agent: IE' & @CRLF ;au3browser' & @CRLF
$sRequest &= 'Content-Type: application/x-www-form-urlencoded' & @CRLF ;
$sRequest &= 'Accept-Encoding: gzip, deflate' & @CRLF
$sRequest &= 'Host: en.alaplaya.net' & @CRLF
$sRequest &= 'Content-Length: ' & StringLen($sParameters) & @CRLF ;
$sRequest &= 'Connection: Keep-Alive' & @CRLF
$sRequest &= 'Cache-Control: no-cache' & @CRLF
Как видите:
Код
&GUICtrlRead($input1)&
Это данные беруться из текстовых полей.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2012, 19:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Хелп с POST на C++ (C++):

МАссив хелп - C++
Используйте двумерный массив для решения следующей задачи. Компания имеет 4 продавцов (их номера от 1 до 4), которые продают 5 разных...

Хелп по проге - C++
Всем привет. делаю прогу и никак не могу понять, в чем дело. Есть массив А, присваиваю массиву Б элементы массива А в квадрате, потом...

[C++] Хелп в чем ошибки - C++
1) составить программу, котороя распечатывает значения функций 10*N,100*N и 1000*N, для N=1....10 с шагом изменения N равным 2. ...

многомерный массив.хелп - C++
задаем количество столбцов, строк, элементы.дополнить массив столбцом и строкой, которые показывают сумму элементов столбца и строки...

Нужен Хелп по потокам - C++
опыта у меня мало мальски, только осваиваюсь, так что приму советы с радостью. суть : Хочу написать тетрис в консоли. смещение будет...

Лабораторная по программированию. ХЕЛП=( - C++
В общем, такая задача. Дана последовательность, к примеру 1 2 4 2 5 6 7 100. Задача найти возрастающий отрезок с максимальной крутизной,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
igorrr37
1647 / 1275 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
22.01.2012, 13:50 #2
данные определены в тексте проги, для работы с сетью используется boost::asio
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#include <iostream>
#include <istream>
#include <ostream>
#include <string>
#include <boost/asio.hpp>
typedef boost::asio::ip::tcp tcp;
 
/*
 
'user%5Blogin%5D='&GUICtrlRead($input1)&'
&user%5Bpassword%5D='&GUICtrlRead($input2)&'
&user%5Bpassword_confirmation%5D='&GUICtrlRead($input2)&'
&user%5Bnickname%5D='&GUICtrlRead($input1)&'
&user%5Bemail%5D='&GUICtrlRead($input3)&'
&user%5Bemail_confirmation%5D='&GUICtrlRead($input3)&'
&user%5Bbirthday%283i%29%5D=1
&user%5Bbirthday%282i%29%5D=1
&user%5Bbirthday%281i%29%5D=1991
&user%5Bgender%5D=m
&user%5Bcountry_id%5D=36
&user%5Bnewsletter%5D=0
&user%5Bterms_of_service%5D=0
&user%5Bterms_of_service%5D=1
&user%5Busedform%5D=usernew'
 
*/
 
int main()
{
    std::string host = "en.alaplaya.net";
    try{
        boost::asio::io_service io;
        tcp::resolver resolver(io);
        tcp::socket sock(io);
        boost::system::error_code err;
        boost::asio::streambuf reqBuf;
        std::ostream reqStream(&reqBuf);
        boost::asio::streambuf* pRespBuf = new boost::asio::streambuf();
        std::istream respStream(pRespBuf);
        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 nick = "qazwsx", mail = nick + "%40mail.ru", password = "34343434", body =
            "user%5Blogin%5D=" + nick + "&"
            "user%5Bpassword%5D=" + password + "&"
            "user%5Bpassword_confirmation%5D=" + password + "&"
            "user%5Bnickname%5D=" + nick + "&"
            "user%5Bemail%5D=" + mail + "&"
            "user%5Bemail_confirmation%5D=" + mail + "&"
            "user%5Bbirthday%283i%29%5D=1&"
            "user%5Bbirthday%282i%29%5D=1&"
            "user%5Bbirthday%281i%29%5D=1991&"
            "user%5Bgender%5D=m&"
            "user%5Bcountry_id%5D=36&"
            "user%5Bmedia_code_id%5D=1&"
            "user%5Bnewsletter%5D=0&"
            "user%5Bnewsletter%5D=1&"
            "user%5Bterms_of_service%5D=0&"
            "user%5Bterms_of_service%5D=1&"
            "user%5Busedform%5D=usernew";
        std::cout << "body.size() returns " << body.size() << std::endl;
        reqStream << "POST /users 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://en.alaplaya.net/users\r\n"
            << "Content-Type: application/x-www-form-urlencoded\r\n"
            << "Content-Length: " << body.size() << "\r\n\r\n"
            << body;
        boost::asio::write(sock, reqBuf);
        boost::asio::read_until(sock, *pRespBuf, "\r\n\r\n");
        std::string headers, tmp;
        while(std::getline(respStream, tmp) && tmp != "\r")
        {
            headers += (tmp + '\n');
        }
        std::cout << headers << "\n";
        respStream.rdbuf(0);
        delete pRespBuf;
        pRespBuf = 0;
        sock.shutdown(tcp::socket::shutdown_both);
        sock.close();
    }
    catch (std::exception& e)
    {
        std::cerr << "Thrown exception:\n" << e.what() << "\n";
    }
    return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2012, 13:50
Привет! Вот еще темы с ответами:

И снова Хелп для двоечьника - C++
Снова лаба, а я не в зуб ногой. Помогите горемыке плз. http://cs315522.userapi.com/v315522430/2535/fMMSP9BOSO0.jpg ...

Вывод результата в блокнот ХЕЛП - C++
Всем привет! Вот код #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;fstream&gt; #include &lt;conio.h&gt; #include &lt;windows.h&gt; ...

Решения интересных задачек! ХЕЛП - C++
Доброго времени суток, уважаемые программисты. Хотел бы попросить Вас о помощи в решении программ по C++. хочу предупредить, что на...

Создание игры! Программисты ХЕЛП!!! - C++
Всем привет! Я хочу сделать игру, не сложную. Программисты помогите мне. Дайте ваши контакты (асю, маилагент), просто у меня куча вопросов!...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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