2 / 2 / 0
Регистрация: 03.06.2012
Сообщений: 56
|
|
1 | |
Пример POST запроса18.06.2013, 21:11. Показов 21181. Ответов 8
Метки нет (Все метки)
0
|
18.06.2013, 21:11 | |
Ответы с готовыми решениями:
8
Отправка POST запроса Отправка POST-запроса Как сделать отправку POST запроса ? Winsock отправка http post запроса |
Модератор
3388 / 2160 / 352
Регистрация: 13.01.2012
Сообщений: 8,378
|
|
19.06.2013, 09:42 | 2 |
например есть host, hostPort и getWithoutPort (если нужно посылать запрос без указания порта - некоторые хосты сходят с ума при указании портов)
doc например "/core.php?cmd=format" data например "disk=c" если хотим GET запрос "GET http://" + host + (getWithoutPort? "" : (":" + hostPort)) + doc + "&" + data + " HTTP/1.1\r\n" + "Host: " + host + (getWithoutPort? "" : (":" + hostPort)) + "\r\n" + "Connection: Close\r\n" + "\r\n" ); если хотим POST запрос "POST http://" + host + (getWithoutPort? "" : (":" + hostPort)) + doc + " HTTP/1.1\r\n" + "Host: " + host + (getWithoutPort? "" : (":" + hostPort)) + "\r\n" + "Content-Type: application/x-www-form-urlencoded\r\n" + "Content-Length: " + data.length() + "\r\n" + "Connection: Close\r\n" + "\r\n" + data
3
|
2 / 2 / 0
Регистрация: 03.06.2012
Сообщений: 56
|
|
19.06.2013, 15:25 [ТС] | 3 |
vxg, как выглядят запросы я знаю, но как это все отправлять в с++ ? мне бы полный код на отправку любого 1 запроса
0
|
Модератор
3388 / 2160 / 352
Регистрация: 13.01.2012
Сообщений: 8,378
|
||||||
19.06.2013, 16:04 | 4 | |||||
для GET
Добавлено через 1 минуту там где урлы в квадратных скобочках - уберите их это форум троит и декарирует текст
4
|
5 / 5 / 1
Регистрация: 25.10.2013
Сообщений: 230
|
||||||
11.12.2015, 10:51 | 5 | |||||
Взял код из поста выше, вынес его из main, при попытке задать char buffer[]; более 1015559 байт происходит ошибка во время входа в функцию http_post123(), до cout << 3; не доходит:
Необработанное исключение по адресу 0x6ADE3977 (msvcr120d.dll) в prog.exe: 0xC00000FD: Stack overflow (параметры: 0x00000000, 0x00312000). При попытке задать char message[]; более 1121 байт: Необработанное исключение по адресу 0x6ADE3977 (msvcr120d.dll) в prog.exe.exe: 0xC00000FD: Stack overflow (параметры: 0x00000000, 0x003A2000). Причем допустимая граница char buffer[] начинает плавать, если изменять char message[1024]; на другие значения.
Спасибо. Добавлено через 3 часа 55 минут Так же почему-то возвращает только заголовок страницы. Причем на сниффере явно видно, что страница прогружалась существенно дальше, но загрузка была прервана. Итого: В буфере чистый заголовок около 400-700 байт, подсмотрено в сниффере 15к байт, страница оборвана на 1/10 загрузки. Где ошибка?
0
|
Модератор
3388 / 2160 / 352
Регистрация: 13.01.2012
Сообщений: 8,378
|
|
14.12.2015, 10:02 | 6 |
в моем коде его нет см. руководство к среде разработки
очевидно потому что мы делаем однократный вызов recv получающий только то что пришло первым пакетом. если нужно грузить дальше - вызывайте повторно для получения остальных кусков оно выделяет память очень далеко после ввода 3 вообще исключений быть не должно но хз что там с настройками стека... что за среда?
0
|
5 / 5 / 1
Регистрация: 25.10.2013
Сообщений: 230
|
|
14.12.2015, 18:22 | 7 |
Причем если сделать malloc, то данной проблемы не будет и нормально проходит большой буфер. С чем это связано я пока не очень понимаю. Всегда считал, что при создании массива память выделяется сразу.
0
|
Модератор
3388 / 2160 / 352
Регистрация: 13.01.2012
Сообщений: 8,378
|
||||||||||||||||
15.12.2015, 09:32 | 8 | |||||||||||||||
с тем что строка
0
|
3071 / 1409 / 425
Регистрация: 19.01.2009
Сообщений: 3,880
|
|
15.12.2015, 20:04 | 9 |
DarkMasterW, т.к. масиив байт у вас помещен в стеке, то вызов функции с большой вложенностью могут привести к ситуации, когда место под стек новой функции просто нет. Собственно из-за этого и происходит 0xC00000FD: Stack overflow.
Решение, как Вам верно указали - выделять память динамически.
0
|
15.12.2015, 20:04 | |
15.12.2015, 20:04 | |
Помогаю со студенческими работами здесь
9
Как узнать данные POST запроса в https Отправка POST запроса на скрипт (переменные + файл) Необходим пример по retrofit c POST запросом Нужен пример отправки get и post запросов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |