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

Полноценный запрос POST - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ count_if http://www.cyberforum.ru/cpp-beginners/thread645926.html
Я где-то видел такое использование: count_if (a.begin(), a.end(), ...); (вместо троеточия что-то было). Не подскажете, что это за зверь такой этот ... ? И как использовать такое (желательно с примером).
C++ абстрактный класс как реализовать данные, над которыми методы выполняют какие-либо действия Абстрактный класс как реализовать данные, над которыми методы выполняют какие-либо действия Задание: форматированный ввод и вывод посредством С и С++ Сделать таблицу о сдаче Л/Р. Код: #include <iostream> #include <conio.h> #include <fstream> // чтения/записи данных из/в файл #include <stdio.h> // поток ввода/вывода для Си #include <stdlib.h> http://www.cyberforum.ru/cpp-beginners/thread645913.html
C++ Стоит ли учить С++ параллельно с С#?
Собственно сабж. На шарпе относительно прилично прогаю (вплоть до использования делегатов и событий), но некоторые моменты меня не устраивают (например, то что примитивная "змейка" ест 12 МБ памяти). Вопрос: стоит ли учить С++. Я понимаю, что это 2 крайности: в шарпе к памяти относятся крайне наплевательски, тут же наоборот, нужно все время следить за ней. Вопрос в том: даст ли мне знание С++...
генерировать случайным образом массив.Найти среднее значение, количество элементов меньше среднего C++
генерировать случайным образом массив из 50 элементов. Найти среднее значение, количество элементов меньше среднего, минимальное значение и индексы минимального значения
C++ Результат не выводиться( http://www.cyberforum.ru/cpp-beginners/thread645881.html
#include <iostream> int main() { int integer1, integer2, sum; std::cout << "Vvedite pervoe celoe chislo\n"; std::cin >> integer1; std::cout << "Vvedite vtoroe celoe chislo\n"; std::cin >> integer2;
C++ Написать функцию getElem, которая возвращает ссылку на i - тый элемент массива Задача: Есть структура, содержащая массив и его длину. Написать функцию getElem, которая возвращает ссылку на i - тый элемент массива (i передается как параметр). Написать функцию init, которая бы записывала в этот массив случайные числа без повторений. Для генерации случайных чисел использовать функцию rand. Случайные числа должны быть не больше длинны массива умноженной на два. Для доступа... подробнее

Показать сообщение отдельно
incrome
9 / 9 / 0
Регистрация: 03.07.2012
Сообщений: 60
02.09.2012, 22:28     Полноценный запрос POST
Подскажите пожалуйста как реализовать полноценный POST запрос?
В таком виде:
POST
Host:
Connection:
Content-Length:
Origin:
X-Requested-With:
User-Agent:
Content-Type:
Accept:
Referer:
Accept-Encoding:
Accept-Language:
Accept-Charset:
Cookie: portal_tid= cid= optimizelyEndUserId= optimizelyBuckets= sid= logged_in=true; PHPSESSID= __utma= __utmb= __utmc= __utmz=

json=
HTTP/1.1 200 OK
Status: 200 Ok
Content-type: text/html; charset=utf-8
Content-Encoding: gzip
Transfer-Encoding: chunked
Date: Sun, 02 Sep 2012 18:01:32 GMT
Server: lighttpd/1.4.28
Пробовал писать так:
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
//---------------------------------------------------------------------------
 
#include "stdafx.h"
#include <windows.h>
#include <winsock.h>
#include <string>
#include <iostream>
#include <fstream>
#include <vcl.h>
#pragma hdrstop
 
#include <tchar.h>
//---------------------------------------------------------------------------
 
#pragma argsused
 
using namespace std;
 
#pragma comment(lib,"Wsock32.lib")
 
#define SEND_RQ(MSG) \
                /*cout<<send_str;*/ \
  send(sock,MSG,strlen(MSG),0);
 
int request (char* hostname, string& message);
 
int _tmain(int argc, _TCHAR* argv[])
{
            string message;
        request ("blablabla", message);
        cout << message << endl;
        cin.get();
        return 0;
}
 
int request (char* hostname, string& message)
{
    string test;
    WSADATA WsaData;
    WSAStartup (0x0101, &WsaData);
    sockaddr_in       sin;
    int sock = socket (AF_INET, SOCK_STREAM, 0);
    if (sock == -1)
        return -100;
 
    sin.sin_family = AF_INET;
    sin.sin_port = htons( (unsigned short)80);
 
    struct hostent * host_addr = gethostbyname(hostname);
    if(host_addr==NULL)
        return -103;
 
    sin.sin_addr.s_addr = *((int*)*host_addr->h_addr_list ) ;
 
    if( connect (sock,(const struct sockaddr *)&sin, sizeof(sockaddr_in) ) == -1 )
        return -101;
 
        SEND_RQ("POST blablabla\r\n");
        SEND_RQ("Host: blablabla\r\n");
        SEND_RQ("User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.52 Safari/536.5\r\n");
        SEND_RQ("Content-Type: application/x-www-form-urlencoded\r\n");
        SEND_RQ("\r\n");
 
        char c1[1];
        int l,line_length;
        bool loop = true;
        bool bHeader = false;
 
        while(loop)
        {
                l = recv(sock, c1, 1, 0);
                if(l<0) loop = false;
                if(c1[0]=='\n')
                {
                        if(line_length == 0) loop = false;
                        line_length = 0;
                        if(message.find("200") != string::npos)
                        bHeader = true;
                }
                else if(c1[0]!='\r')
                         line_length++;
                message += c1[0];
        }
 
        message="";
 
   if(bHeader)
        {
            char p[128];
            int i=0;
            do
            {
                memset(p,'\0',sizeof(p));
                l = recv(sock,p,128,0);
                i += l;
                message += p;
                Sleep(10);
                if(l!=128)
                    cout << message << endl;
            }
            while(l==128);
        }
        else
            return -102;
}
Но данный код не принес никаких плодов, консольное окно просто весит безо всякой реакции...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru