Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.02.2020, 10:23   #1
Мaкс
Форумчанин
 
Регистрация: 12.06.2018
Сообщений: 831
Вопрос Нет содержимого у записанного файла при QFile::write(QNetworkReply::readAll ()).

У меня тут возникла проблема, которую не могу 3-ий день решить.
Код:
void MainProcess::downloadfinished(QNetworkReply *reply) {
    QFile fileio("htmlfile.html");
    fileio.open(QIODevice::WriteOnly);
    fileio.write(reply->readAll());
    fileio.close();
}
Блин, что тут надо изменить, чтобы в записованный файл (htmlfile.html) был не пустым при вызове этой функции?
P.S.: надо весь код?
Мaкс вне форума Ответить с цитированием
Старый 15.02.2020, 10:34   #2
Subst
Пользователь
 
Регистрация: 30.01.2020
Сообщений: 54
По умолчанию

Данные вообще пришли?
Добавь, ну например, qDebug()<<reply.readAll().size(); запись закомменть пока.
Subst вне форума Ответить с цитированием
Старый 15.02.2020, 10:37   #3
Мaкс
Форумчанин
 
Регистрация: 12.06.2018
Сообщений: 831
По умолчанию

Цитата:
Сообщение от Subst Посмотреть сообщение
Добавь, ну например, qDebug()<<reply.readAll().size(); запись закомменть пока.
Вот блин, выводит 0. Нет данных? В чём причина?
Мaкс вне форума Ответить с цитированием
Старый 15.02.2020, 10:52   #4
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Цитата:
Сообщение от Мaкс Посмотреть сообщение
В чём причина?
В ошибке в коде.
Код показывайте, телепаты в отпуске...
waleri вне форума Ответить с цитированием
Старый 15.02.2020, 10:58   #5
Мaкс
Форумчанин
 
Регистрация: 12.06.2018
Сообщений: 831
По умолчанию

Помогите, пожалуйста! Я только начал работать с сетью! Буду очень благодарен.
mainprocess.h:
Код:
#ifndef MAINPROCESS_H
#define MAINPROCESS_H

#include <QtWidgets>

class QNetworkAccessManager;
class QNetworkReply;
class MainProcess : public QMainWindow
{
    Q_OBJECT
    QTextEdit *display;
    QNetworkAccessManager *accessmanager;
    QString resulthtml, globalresult, bpart, epart;
public:
    MainProcess(QWidget *parent = nullptr);
    ~MainProcess();
public slots:
    void downloadfinished(QNetworkReply *reply);
};
#endif // MAINPROCESS_H
mainprocess.cpp:
Код:
#include <QtNetwork>
#include "mainprocess.h"

MainProcess::MainProcess(QWidget *parent)
    : QMainWindow(parent)
{
    globalresult = resulthtml = "";
    bpart = "к уровню в ";
    epart = " рублей";
    display = new QTextEdit();
    setCentralWidget(display);
    qDebug() << "QNetworkAccessManager";
    accessmanager = new QNetworkAccessManager();
    qDebug() << "QNetworkRequest:";

    QNetworkRequest networkrequest(QUrl("https://kurs2015.ru/kurs-dollara-onlajn.html"));


    QNetworkReply *networkreply = accessmanager->get(networkrequest);

    QObject::connect(accessmanager, &QNetworkAccessManager::finished, this, &MainProcess::downloadfinished);
}

MainProcess::~MainProcess()
{

}

void MainProcess::downloadfinished(QNetworkReply *reply) {
    QFile fileio("htmlfile.html");
    fileio.open(QIODevice::WriteOnly);
    fileio.write(reply->readAll());
    fileio.close();
}
Мaкс вне форума Ответить с цитированием
Старый 15.02.2020, 12:19   #6
Мaкс
Форумчанин
 
Регистрация: 12.06.2018
Сообщений: 831
По умолчанию

Блин, никто не подскажет, где проблема?
Мaкс вне форума Ответить с цитированием
Старый 15.02.2020, 13:23   #7
Subst
Пользователь
 
Регистрация: 30.01.2020
Сообщений: 54
По умолчанию

OpenSSL подключен?
проверь
[static] bool QSslSocket::supportsSsl()

ПыСЫ:у тебя адрес https

можешь проверить опосредованно - адрес без защиты задай. Чистый http
Subst вне форума Ответить с цитированием
Старый 15.02.2020, 13:24   #8
Мaкс
Форумчанин
 
Регистрация: 12.06.2018
Сообщений: 831
По умолчанию

Subst, Как его подключить?
Мaкс вне форума Ответить с цитированием
Старый 15.02.2020, 13:31   #9
Subst
Пользователь
 
Регистрация: 30.01.2020
Сообщений: 54
По умолчанию

Qt сам собирал или SDK качал?

если SDK - то должен поддерживаться, по идее.
если сам - нужно при сборке поддержку врубать.

что тебе сказал sslsocket?
Subst вне форума Ответить с цитированием
Старый 15.02.2020, 13:33   #10
Мaкс
Форумчанин
 
Регистрация: 12.06.2018
Сообщений: 831
По умолчанию

Цитата:
Сообщение от Subst Посмотреть сообщение
сам собирал или SDK качал?
У меня Qt Creator.

Цитата:
Сообщение от Subst Посмотреть сообщение
что тебе сказал sslsocket?
Вы про bool QSslSocket::supportsSsl()?
Выдал false. Как его включить?
Мaкс вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перезапись содержимого бинарного файла usovi4 Общие вопросы C/C++ 2 25.07.2016 16:01
Инициализация QFile и QTextStream Lindemann66 Qt и кроссплатформенное программирование С/С++ 5 29.08.2011 16:02
Шифрование содержимого файла kholoshchak Общие вопросы Delphi 3 09.06.2011 01:25
вывод содержимого файла mojohead C++ Builder 1 17.05.2011 01:18
Вывод содержимого файла из Bat Eddi Помощь студентам 1 15.04.2011 21:15