25 / 25 / 11
Регистрация: 02.01.2012
Сообщений: 371
1

Qt Не работает post запрос

10.05.2013, 20:06. Показов 1974. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
QUrl url("http://www.site.org/index/process");
    QNetworkRequest nreq = QNetworkRequest(url);
 
    nreq.setRawHeader("User-Agent","Mozilla/5.0 (Windows NT 5.1; rv:20.0) Gecko/20100101 Firefox/20.0");
    nreq.setRawHeader("Accept","*/*");
    nreq.setRawHeader("Accept-Language","ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3");
    //nreq.setRawHeader("Accept-Encoding","gzip, deflate");
    nreq.setRawHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
    nreq.setRawHeader("X-Requested-With","XMLHttpRequest");
    nreq.setRawHeader("Referer","http://site.org/");
    nreq.setRawHeader("Connection","keep-alive");
    nreq.setRawHeader("Pragma","no-cache");
    nreq.setRawHeader("Cache-Control","no-cache");
 
 
    QByteArray bArr;
    bArr="value=1&operation=2";
 
 
    QNetworkReply *reply = request->post(nreq,bArr);
Я получаю в ответ: <h1>404 Page not found</h1>
Из браузера все доступно. Все по мануалу, в чем тут проблема?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.05.2013, 20:06
Ответы с готовыми решениями:

Не работает POST запрос
Такой вопрос образовался. Есть серверное приложение на Node.js Express на api.domain.com и клиент...

Не работает POST запрос
Здравствуйте. Пытаюсь на js научиться лайкать цитаты на баш.орг. Получился такой код: function...

Не работает post запрос
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data;...

Post-запрос неправильно работает
Есть такой вот запрос: response = requests.post( upload_url, files = {'photo':...

18
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
11.05.2013, 01:40 2
Тут есть пример авторизации на форуме

QNetworkAccessManager последовательные запросы

Добавлено через 1 минуту
C++ (Qt)
1
QNetworkRequest nreq = QNetworkRequest(url);//  * и new пропустил !!!!
0
25 / 25 / 11
Регистрация: 02.01.2012
Сообщений: 371
11.05.2013, 02:16  [ТС] 3
Ведь я делал это именно так? Т.е как в примере авторизации

Да и в конструктор добавил
C++
1
QNetworkRequest* rMD5dec;
C++
1
rMD5dec = new QNetworkRequest(url);
Тот же самый результат
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
11.05.2013, 02:22 4
Че гадать значит сайт не правильно указал...

http://www.site.org/index/process - как я полагаю вымышленный адрес ?
0
25 / 25 / 11
Регистрация: 02.01.2012
Сообщений: 371
11.05.2013, 02:26  [ТС] 5
Заместо site указан другой сайт. Но я его просто копирую и вставляю, и все работает. Я вот весь вечер по гуглу смотрю, везде одно и то же, что и у меня
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
11.05.2013, 02:28 6
Цитата Сообщение от BuGi Посмотреть сообщение
Заместо site указан другой сайт.
Значит неправильно указал сайт либо его параметры.

Смотри мой пример
0
25 / 25 / 11
Регистрация: 02.01.2012
Сообщений: 371
11.05.2013, 02:33  [ТС] 7
Да я так и делал.
И еще маленький вопрос: как мне отследить запросы через дебаггеры вроде Charles или Fiddler? Они не видят эти запросы, хотя я менял хедеры, отвечающие за сжатие информации
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
11.05.2013, 02:35 8
Цитата Сообщение от BuGi Посмотреть сообщение
Да я так и делал.
И еще маленький вопрос: как мне отследить запросы через дебаггеры вроде Charles или Fiddler? Они не видят эти запросы, хотя я менял хедеры, отвечающие за сжатие информации
Значит неправильно делал...

Не дебагеры, а сниферы ...

Лучше используй HTTPAnalyzer5 он куда удобнее для http, что касается сжатия я его попросту отключал на время тестирования ( см мой код)
0
25 / 25 / 11
Регистрация: 02.01.2012
Сообщений: 371
11.05.2013, 02:44  [ТС] 9
Все запросы идут правильно. Я изменил сайт на другой и все работает. Получается, что это какие-то антибот системы на этом сайте, надо будет смотреть запросы от браузера и от программы и что-то добавлять/удалять свое
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
11.05.2013, 02:46 10
Я подозреваю что ты просто не экранируешь параметры передаваемые сайту ...
В запросе есть кириллица, символ @ идр ?
0
25 / 25 / 11
Регистрация: 02.01.2012
Сообщений: 371
11.05.2013, 02:47  [ТС] 11
Нет, вообще никакой кириллицы.
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
11.05.2013, 02:49 12
Цитата Сообщение от BuGi Посмотреть сообщение
Нет, вообще никакой кириллицы.
Ну а символы ?
0
25 / 25 / 11
Регистрация: 02.01.2012
Сообщений: 371
11.05.2013, 02:53  [ТС] 13
C++
1
QByteArray bArr = "value=YzRjYTQyMzhhMGI5MjM4MjBkY2M1MDlhNmY3NTg0OWI=&operation=MD5D";
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
11.05.2013, 02:54 14
Ну да вроде ничего нет... значит нужно смотреть подробнее.
0
25 / 25 / 11
Регистрация: 02.01.2012
Сообщений: 371
11.05.2013, 02:56  [ТС] 15
Я убираю все, и мне показывает, что запрос отсутствует, но когда передаю это, то not found
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
11.05.2013, 02:58 16
Блин не заметил

YzRjYTQyMzhhMGI5MjM4MjBkY2M1MDlhNmY3NTg0OWI=

думаю надо "=" экранировать в этом месте
0
25 / 25 / 11
Регистрация: 02.01.2012
Сообщений: 371
11.05.2013, 03:16  [ТС] 17
QByteArray bArr = "value=1&operation=MD5D";
И все равно Not Found...
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
11.05.2013, 03:20 18
Ну так фигню пихаешь ясное дело, отвечать будет также..

Пробуй экранировать... я помню как-то из-за такой ерунды долго возился...
0
25 / 25 / 11
Регистрация: 02.01.2012
Сообщений: 371
11.05.2013, 03:37  [ТС] 19
Я посмотрел в браузере. Если некоторые куки отсутствуют, то возвращается Not Found. Там надо сидеть со сниффером и смотреть что как идет
0
11.05.2013, 03:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.05.2013, 03:37
Помогаю со студенческими работами здесь

Не работает POST запрос на сервере...
Есть код: $fp = fsockopen($parts, isset($parts)?$parts:80, $errno, $errstr, 30);...

Не работает ajax POST-запрос
Доброго времени суток. Есть страница, на которой расположена кнопка для создания формы в новом...

Не работает POST-запрос в Spring REST
Доброго времени суток. Я пишу простое веб-приложение и столкнулся со странной для меня ошибкой: при...

Не работает авторизация через post запрос (requests)
Я пытаюсь авторизоваться на этом сайте. (хочу сделать парсер) Отправляю post запрос через requests....


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru