문제

델파이로 파일을 다운로드할 수 있는지 확인하세요.

안녕하세요 ...저는 Delphi에서 시작하여 HTTP에서 파일을 다운로드하는 프로그램을 만들고 있습니다.

나는 다음을 사용하고 있습니다 :

IdHTTP.Get (URL FileDownload)

하지만 내 프로그램에서 파일을 다운로드할 수 없으면 오류가 발생합니다.

전: http://exemplo.com/ -> 오류 발생

전: http://exemplo.com/meudownload.ts -> 다운로드를 해준다

이 오류를 수정하고 싶은데, 파일 다운로드가 가능한지, 아니면 낮아지고 있는지 어떻게 확인할 수 있나요...

나는 사용했다 EIdHTTPProtocolExeption 하지만 다음과 같은 HTML 오류만 확인합니다.404, 300 ...그리고 내가 원하는 건 아닌가...

파일을 다운로드 받을 수 있는지, 다운로드 중인지 확인하고 싶습니다...

이런 일이 발생하면 다른 파일을 다운로드하겠습니다.

donw_1.ts, down_2.TS, down_3.TS ...그런 다음 그가 다운로드할 수 없는 보관 파일을 받으면 루프를 취소하라는 답을 얻었습니다.

도움이 되었습니까?

해결책 3

스캔 헤드를 수행하여 문제를 해결할 수 없습니다 ... HTTP 404 오류가있는 문제를 해결할 수 있습니다 .... 다운로드 할 파일이없는 곳에서는이 오류가 발생합니다. EidhttpProtocolExeEction은 다음과 같습니다.해결 된 ....

다른 팁

잡기 EIdHTTPProtocolException 그것은 당신이 해야 할 일입니다.Indy는 오류 보고를 위해 예외를 사용하도록 특별히 설계되었음을 기억하세요. EIdHTTPProtocolException 난 ~ 보여준다 TIdHTTP 서버에서 HTTP 관련 오류를 보고합니다(다른 유형의 예외는 소켓이나 RTL에 문제가 있어 HTTP 요청을 재시도할 수 있음을 의미합니다).해당 예외가 발생한다는 단순한 사실은 서버가 요청한 대로 파일을 전달할 수 없다는 것을 의미하므로 일반적으로 복구 가능한 오류라는 것을 알지 않는 한 재시도해서는 안 됩니다.예외 확인 중 ErrorCode 선택 사항이지만 특정 오류를 구분해야 하는 경우 사용할 수 있습니다.

파일이 서버에 있는지 확인하고 싶다면 tidhttp.head를 사용하십시오.이 기능은 해당 가져 오기 호출에서 반환 된 헤더를 다운로드하지만 데이터 자체는 아닙니다.그런 다음 헤더를 확인하여 파일이 존재하는지 확인하고 다음에 수행 할 작업을 결정할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top