2012-09-18 3 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; 
      } 

를 호출합니다. url과 쿠키는 flashgot addon, firefox에 의해 제공됩니다.

답변

0

"uploading.com"에 고유 한 API가없는 경우 : 해당 웹 사이트에서 HTML을 구문 분석 한 다음 필요한 웹 페이지를 다운로드 할 사용자 인 것처럼 필요한 HTML을 편집해야합니다. 파일.

당신이 시도한 것과이 게시물에 답변하기 위해 무엇을하고 싶은지에 대한 자세한 정보가 필요합니다. 먼저 자신의 API가 있는지 확인해야합니다. 확실히 Qt를 사용하여이 작업을 수행 할 수 있습니다.

+0

수신 한 오류 메시지와 문제를 더 잘 설명하는 샘플 코드를 추가 할 수 있습니까? – stackunderflow

+0

쿠키에 문제가있는 것 같습니다. 쿠키를 제대로 전달하고 있습니까? –

관련 문제