2012-09-18 51 views
1

我试过我的级别最好从uploading.com下载文件,但都是徒劳的。我尝试了各种可能的重定向方式,但都是徒劳的。它总是以错误Moved Permanently结束,如果尝试重定向,它最终会下载网页。咦!是否可以使用QNetworkAccessManager从文件托管网站下载文件

This is the cookie which i have to pass to QNetworkAccessManager: 

S=gmail=gPwZoKGL8hgGA4ZHoej_Tg; S=gmail=xrWQCf29oq77myB3uSRKPg; 

request.setUrl(url); 
      request.setAttribute(QNetworkRequest::HttpPipeliningAllowedAttribute, true); 
      cookieJar->setCookiesFromUrl(QNetworkCookie::parseCookies(cookie),url); 
      manager.setCookieJar(cookieJar); 
      reply=manager.get(request); 

完成的信号调用下面的插槽

int statusCode=0; 
      statusCode=reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(); 
      if(statusCode>300) 
      { 
       if(statusCode==307||reply->rawHeaderList().contains("Location")) 
       { 
       url=reply->header(QNetworkRequest::LocationHeader).toString(); 
       request.setUrl(url); 
       request.setAttribute(QNetworkRequest::HttpPipeliningAllowedAttribute, true); 
       cookieJar->setCookiesFromUrl(QNetworkCookie::parseCookies(cookie),url); 
       manager.setCookieJar(cookieJar); 
       reply=manager.get(request); 
       return; 
      } 

,因为它下载的网页,而不是文件的下载失败。网址和cookie由flashgot addon,firefox提供。

回答

0

我认为,如果“uploading.com”没有自己的本地API:你将需要从他们的网站解析HTML,然后编辑必要的HTML,就好像你是一个用户在他们的网页上下载一份文件。

我需要更多关于你已经尝试了什么以及你想做什么来回答这篇文章的信息。你应该先检查他们是否有自己的API。使用Qt做这件事绝对有可能。

+0

你可能会提出一些示例代码,更好地解释您收到的问题和错误消息吗? – stackunderflow

+0

Cookie似乎存在问题。我是否正确地传递饼干! –