Pregunta

Compruebe si es posible descargar el archivo con Delphi.

Buen día ...Estoy empezando en Delphi y estoy creando un programa para descargar archivos desde HTTP...

Estoy usando:

IdHTTP.Get (URL FileDownload)

Pero mi programa genera error al no poder descargar el archivo...

Ex: http://ejemplo.com/ -> Genera Error

Ex: http://exemplo.com/meudownload.ts -> Realiza descarga

Me gustaría corregir este error, como puedo comprobar si es posible descargar el archivo o si está bajando...

solía EIdHTTPProtocolExeption pero sólo comprueba errores HTML como:404, 300...y no es que lo desee...

Me gustaría ver si pueden descargar el archivo, o si se está descargando…

Si esto sucede, descargaré otro archivo:

donw_1.ts, abajo_2.TS, abajo_3.TS...luego cuando le sale el Archivando uno que no se puede descargar, tengo la respuesta para cancelar el bucle...

¿Fue útil?

Solución 3

No se puede resolver el problema haciendo una cabeza de escaneo ... y logró resolver el problema con el error HTTP 404 ... Cuando no hubo un archivo para descargar, genera este error EidhttpprotocolexEstion ... El problema ha sidoresuelto ....

Otros consejos

Atrapando el EIdHTTPProtocolException es lo que deberías estar haciendo.Recuerde que Indy está diseñado específicamente para utilizar excepciones para el informe de errores. EIdHTTPProtocolException es como TIdHTTP informa errores específicos de HTTP del servidor (cualquier otro tipo de excepción significa que el socket o el RTL tuvieron un problema y se puede volver a intentar la solicitud HTTP).El mero hecho de que obtenga esa excepción significa que el servidor no pudo entregar el archivo según lo solicitado, por lo que normalmente no debería volver a intentarlo a menos que sepa que es un error recuperable.Comprobando la excepción ErrorCode Es opcional, pero está disponible si realmente necesita diferenciar entre errores específicos.

Si solo desea ver si existe un archivo en el servidor, use TIDHTTP.HEAD.Esta función simplemente descarga los encabezados que habrían sido devueltos de la llamada GET equivalente, pero no los datos en sí.A continuación, puede revisar los encabezados para ver si el archivo existe y decide qué hacer a continuación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top