我正在使用Qt 4.8发布HTTP Post请求。
void post() {
QByteArray parameters;
QUrl url("http://www.somerandomurl.com");
QNetworkRequest request(url);
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
QNetworkReply* reply = network_access_manager->post(request, parameters);
}
void requestfinished(QNetworkReply* reply) {
QString response(QString::fromUtf8(reply->readAll()));
std::cout << response.toStdString() << std::endl;
}
我应该获得的HTML页面,在HTML评论中隐藏了Javascript。如果我使用Firefox / Chrome查看它或使用Python3发出HTTP请求,我会按照我想要的方式使用Javascript代码获得评论。看起来像这样:
<script language="JavaScript">
<!--
Javascript Code
Javascript Code
Javascript Code
//-->
</script>
使用Qt示例但是我只收到没有Javascript的评论。
<script language="JavaScript">
<!--
//-->
</script>
有没有办法在Qt 4.8中获得Javascript?
答案 0 :(得分:2)
对我而言,这似乎不太可能是由Qt过滤JavaScript引起的,但更可能是服务器上的某些内容根据用户代理做某事。在发送请求之前,请尝试拨打request.setRawHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36");
。
此外,您的请求看起来有点奇怪。您正在使用内容类型“application / x-www-form-urlencoded”进行发布,但不提供任何数据。为什么不直接获取URL?
此外,如果您可以共享URL,则调试起来会更容易。当然,如果不可能,那也没关系。