Datei herunterladen via Post-Formular

Gibt es eine website, die eine Liste von Dateien, die ich herunterladen möchten. Um die Prozesse zu vereinfachen habe ich versucht, ein Skript zu schreiben, das für mich tun. (Obwohl ich kann wählen Sie mehrere Optionen gleichzeitig auf Absenden geklickt lädt nur die erste Datei)

Die Webseiten-url, webpage/list.php-unterscheidet sich von der action in form. Ich bin mir nicht sicher über das, was die Richtlinie über die Entsendung der eigentlichen url hier.

<form action="webpage/data.php" method="post">
  <table align="center">
    <tbody>
      <tr><td>
        <select name="data[]" size="8" multiple="multiple">
          <option value="downloadable_file1.tar">Downloadable file1</option>
          <option value="downloadable_file2.tar">Downloadable file2</option>
          <option value="downloadable_file3.tar">Downloadable file3</option>
        </select>
      </td></tr>
    </tbody>
  </table>
  <input type="submit">
</form>

Das Skript, das ich habe, ist diese:

import urllib
import urllib2
import shutil

req = urllib2.Request('webpage/list.php')
values = { 'data[]': 'downloadable_file1.tar'}
req.add_data(urllib.urlencode(values))
resp = urllib2.urlopen(req)

myfile = open('downloadable_file1.tar', 'wb')
shutil.copyfileobj(resp.fp, myfile)
myfile.close()

Wenn das Skript ausführt, der server scheint nicht die Anforderung bestätigen und dient nur mir der gleichen Webseite mit der Datei-Liste. Ist es eine option, die ich bin fehlt? Könnte es sein, som redirect problem?

Dies ist die info, die ich bekommen, wenn die Verwendung von Chrome:

Request URL:webpage/data.php  
Request Method:POST  
Status Code:200 OK  

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8  
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3  
Accept-Encoding:gzip,deflate,sdch  
Accept-Language:sv-SE,sv;q=0.8,en-US;q=0.6,en;q=0.4  
Cache-Control:max-age=0  
Connection:keep-alive  
Content-Length:26  
Content-Type:application/x-www-form-urlencoded  
Host:webpage 
Origin:webpage  
Referer:webpage/list.php  
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22  
data[]:downloadable_file1.tar  

Accept-Ranges:bytes  
Cache-control:private  
Connection:Keep-Alive  
Content-Disposition:attachment; filename="downloadable_file1.tar.gz"  
Content-Length:1043436  
Content-Transfer-Encoding:binary  
Content-Type:application/x-gzip  
Date:Tue, 26 Mar 2013 20:18:58 GMT  
Expires:Mon, 26 Jul 1997 05:00:00 GMT  
Keep-Alive:timeout=5, max=100  
Pragma:private  
Server:Apache/2.2.9 (FreeBSD) mod_ssl/2.2.9 OpenSSL/0.9.7e-p1 DAV/2 PHP/5.2.6 with Suhosin-Patch
X-Powered-By:PHP/5.2.6  
InformationsquelleAutor pyret | 2013-03-26
Schreibe einen Kommentar