2010-11-13 24 views
2

Vous pouvez dire qu'il va regarder Content-Disposition pour le nom de fichier, mais je parle de l'endroit où il n'y a rien dans cet en-tête et aussi URL n'est pas si simple comme http://website.com/myfile.zip. Je laisse quelques exemples ici, mais je me demande comment navigateur (j'utilise FireFox) trouver le bon nom dans save as dialog. Connaît-il la syntaxe de l'URL pour les sites Web célèbres? J'ai utilisé Fiddler2 pour la rétro-ingénierie.Comment le navigateur trouve-t-il le nom du fichier dans les téléchargements?

URL: http://mesh.dl.sourceforge.net/project/npp-plugins/Function Liste/FunctionList Plugin v2.1/FunctionList_2_1_UNI_dll.zip

échantillon de sortie Fiddler:

HTTP/1.1 200 OK 
Date: Sat, 13 Nov 2010 22:46:31 GMT 
Server: Apache/2.2.9 (Debian) 
Last-Modified: Thu, 18 Feb 2010 04:35:26 GMT 
ETag: "142a602c-1fe24-47fd87eed7f80" 
Accept-Ranges: bytes 
Content-Length: 130596 
Connection: close 
Content-Type: application/zip 

EDIT: Le problème est Content-Disposition est pas réglé à la réponse finale, au lieu de cela à l'un des redirection L'en-tête HttpWebRespose contient le dernier response header (AllowAutoRedirec t = true). J'ai besoin de garder une trace de toutes les réponses et de vérifier s'il y a un Content-Disposition alors souvenez-vous. Comment ?

+1

Non, les développeurs de navigateurs n'utilisent pas de code spécial pour les sites Web "célèbres". –

Répondre

5

Les utilisent utilisent content-disposition ou toute autre méthode standard. Voir cet exemple, je viens d'obtenir de l'aide SourceForge Live HTTP Headers:

HTTP/1.1 302 Found 
X-Powered-By: PHP/5.2.9 
Content-Disposition: attachment; filename="FunctionList_2_1_UNI_dll.zip" 
Location: http://mesh.dl.sourceforge.net/project/npp-plugins/Function%20List/FunctionList%20Plugin%20v2.1/FunctionList_2_1_UNI_dll.zip 
Content-Type: text/html 
Content-Length: 0 
Date: Sat, 13 Nov 2010 22:30:00 GMT 
Server: lighttpd/1.4.26 

Notez qu'ils utilisent également une redirection, peut-être vous êtes confus par cela.

0

Si ce n'est pas l'attribut filename de l'en-tête Content-Disposition, il est probable qu'il y ait une redirection HTTP 302 ou un iframe caché avec le téléchargement du fichier.