QT程序打包之后拿到别的电脑上QNetworkAccessManager请求网页不好使

lixingyu8623 2019-08-14 08:17:20
void CollectFunctions::RequestHttp(QUrl url,QString*cookies,QByteArray*pRetData)
{
QNetworkAccessManager *man=new QNetworkAccessManager;
QNetworkRequest request;
request.setUrl(url);
setHead(&request,url,cookies);

QNetworkReply *reply=man->get(request);

//QByteArray *array=new QByteArray;
//QDateTime current_date_time =QDateTime::currentDateTime();
//QString current_date =current_date_time.toString("yyyy.MM.dd hh:mm:ss.zzz");
//emit SendMsgToWin("RequestHttpcookie:"+current_date);

QEventLoop loop;
connect(reply,&QNetworkReply::finished,&loop,&QEventLoop::quit);
loop.exec();

//current_date_time =QDateTime::currentDateTime();
//current_date =current_date_time.toString("yyyy.MM.dd hh:mm:ss.zzz");
//emit SendMsgToWin("RequestHttpcookie:"+current_date);
//emit SendMsgToWin("已抓取一次!!!!!!!!!!!!!!!!!!");

QVariant redirectrul=reply->attribute(QNetworkRequest::RedirectionTargetAttribute);
if(!redirectrul.isNull())
{
//qDebug()<<"有重定向;";

if(man!=nullptr)
{
man->deleteLater();
man=nullptr;
}

reply->deleteLater();
reply=nullptr;
QUrl url;
const QUrl redirectedUrl = url.resolved(redirectrul.toUrl());
//qDebug()<<redirectedUrl.toString();
redirectrul.clear();
RequestHttp(redirectedUrl,cookies,pRetData);
return ;
}else
{
//qDebug()<<"没有重定向;";
*pRetData=reply->readAll();
//qDebug()<<*pRetData;
reply->deleteLater();
reply=nullptr;
if(man!=nullptr)
{
man->deleteLater();
man=nullptr;
}
return ;
}

}

这段代码
程序打包之后 放到别的没有开发环境的电脑上请求不到东西,放到自己电脑上就可以 ,我已经调试过了 ,就是这个地方的问题 ,但是还没有报错 ,程序也不崩溃 ,c++运行库也装了 ,管理员权限运行也试了 ,保护也加了 ,就是不好使。。。哪位大大能帮小弟解答一下啊 ,小弟感激不尽 !!
...全文
22 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧