2017-04-20 7 views
-1

원격 URL에서 XML 파일을 성공적으로 다운로드하려고합니다. 웹 브라우저에서 내용을 볼 수는 있지만 명령 줄을 통해 다운로드 할 수는 없습니다 (웹 브라우저에서 직접 수동으로 다운로드 할 수 있음). 나는 wget을 사용하고있다.XML 파일을 다운로드 할 수 없습니다.

wget -q -O test.xml https://example.com/test 

나는 cURL을 성공으로 사용하려고 시도했다.

아이디어가 있으십니까?

답변

2

제거 -q 당신이 볼 수는 :

--2017-04-20 14:25:53-- https://example.com/test 
Resolving example.com... 93.184.216.34, 2606:2800:220:1:248:1893:25c8:1946 
Connecting to example.com|93.184.216.34|:443... connected. 
HTTP request sent, awaiting response... 404 Not Found 
2017-04-20 14:25:53 ERROR 404: Not Found. 

URL은 404 에러 페이지입니다. 따라서 text.xml은 비어 있습니다.

는 그런 다음에 설명서를 보면 : 그래서

--content-on-error 
     If this is set to on, wget will not skip the content when the 
     server responds with a http status code that indicates error. 

:

wget -q --content-on-error -O test.xml https://example.com/test 

이 ... 성공적으로 리소스를 다운로드합니다.

그래도 XML은 유효하지 않습니다. HTML 5 Doctype은 그것을 깨뜨린다. "실패 :. 연결 시간이 초과되었습니다 다시 시도"를

+0

을 설정하십시오. 매우 이상한 – Blackcoat77

+0

@ Blackcoat77 - 이것은 당신과 example.com 사이의 네트워크 문제를 암시합니다. 브라우저에서 작동하는 경우 : 아마도 프록시 서버 구성과 관련이 있습니다. – Quentin

+0

기본 HTTP 요청 헤더를보기 위해 wget -d https://example.com/test를 입력하면 "인증서가로드 됨 : 174"가 표시됩니다. 위에서 언급 한 URL을 Google로 대체하면 적절한 HTTP 요청 헤더가 표시됩니다. – Blackcoat77

0

는 헤더 내가 갖는

wget -q -O --header="Accept:text/xml,*/*" test.xml https://example.com/test