Russian Qt Forum
Ноябрь 23, 2024, 00:38
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Работа с сетью
>
QHttp: передача методом post
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: QHttp: передача методом post (Прочитано 9465 раз)
Perchilla
Гость
QHttp: передача методом post
«
:
Декабрь 02, 2005, 23:48 »
Не подкинет кто - нибудь примерчик передачи строки методом post для QT4? Get - не катит, строка длинная, в примерах ничего нет, а пример из книги Бланшета что - то не работает :? .
Записан
crocus
Гость
QHttp: передача методом post
«
Ответ #1 :
Декабрь 05, 2005, 10:04 »
Ни post, ни request что-не проходит.
void HttpWindow::uploadFile()
{
QString fileName = QFileDialog::getOpenFileName(this,
tr("OpenFile"),
openFilesPath,
tr("All Files (*);;Text Files (*.txt)"));
if (!fileName.isEmpty())
openFilesPath = fileName;
QFileInfo path(openFilesPath);
QString fileName1 = path.fileName();
QStringList lines;
QByteArray bytes;
file = new QFile(fileName1);
if ( !file->open(QIODevice::ReadOnly) ) {
QMessageBox::information(this, tr("HTTP"),
tr("Unable to open the file %1: %2.")
.arg(fileName1).arg(file->errorString()));
}
QHttpRequestHeader header("POST", "/upload.php");
header.setValue("Host", "foliant");
header.setContentType("application/x-www-form-urlencoded");
QString encodedTopic = fileName1;
QString searchString = "file=" + encodedTopic;
http->setHost("foliant");
httpRequestAborted = false;
http->request(header, searchString.toUtf8(), file);
urlLineEdit->setText(encodedTopic);
}
На хлам в коде не обращайте внимания это заготовка.
Записан
Perchilla
Гость
QHttp: передача методом post
«
Ответ #2 :
Декабрь 07, 2005, 08:23 »
Благодарю за ответ! Сейчас попробую.
Записан
crocus
Гость
QHttp: передача методом post
«
Ответ #3 :
Декабрь 08, 2005, 05:39 »
Вот блин лабуда, сервер пишет что все нормально, PHP тоже ошибок не выдает (правда поля referer и user-agent пустые "-"), а если аплодить через страницу нет проблем referer - "страница с которой отправляем"
void HttpWindow::uploadFile()
{
QString fileName = QFileDialog::getOpenFileName(this,
tr("OpenFile"),
openFilesPath,
tr("All Files (*);;Text Files (*.txt)"));
if (!fileName.isEmpty())
openFilesPath = fileName;
QFileInfo path(openFilesPath);
QString fileName1 = path.fileName();
userfile = new QFile(openFilesPath);
if ( !userfile->open(QIODevice::ReadOnly) ) {
QMessageBox::information(this, tr("HTTP"),
tr("Unable to open the file %1: %2.")
.arg(openFilesPath).arg(userfile->errorString()));
}
QHttpRequestHeader header("POST", "/upload.php", 1, 1);
header.setValue("Host", "ваш_хост");
header.setValue("Content-type", "multipart/form-data, boundary=AaB03x");
header.setValue("Cache-Control", "no-cache");
header.setValue("Accept","*/*");
QByteArray byt(openFilesPath.toUtf8());
QByteArray bytes;
bytes.append("--AaB03x\r\n");
bytes.append("content-disposition: ");
bytes.append("form-data; name=\"userfile\"; filename=\"" + byt+ "\"\r\n");
bytes.append("Content-Transfer-Encoding: binary\r\n");
bytes.append("\r\n");
bytes.append(userfile->readAll());
userfile->close(); // the file is opened earlier in the code
bytes.append("\r\n");
bytes.append("--AaB03x--\r\n");
int contentLength = bytes.length();
header.setContentLength(contentLength);
http->setHost("foliant");
httpRequestAborted = false;
httpGetId = http->request(header, bytes);
urlLineEdit->setText(openFilesPath); // проверка файла и пути
}
Победа разума. Ошибка в коде исправлена можно пользоваться.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...