내가 가진 파일을 다운로드하려고 wget
하고 curl
그것은 (금지) 403 오류로 거부됩니다.
같은 컴퓨터에서 웹 브라우저를 사용하여 파일을 볼 수 있습니다.
http://www.whatsmyuseragent.com 에서 얻은 브라우저의 사용자 에이전트로 다시 시도 하십시오 . 나는 이것을한다:
wget -U 'Mozilla/5.0 (X11; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0' http://...
과
curl -A 'Mozilla/5.0 (X11; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0' http://...
그러나 여전히 금지되어 있습니다. 403에 대한 다른 이유가있을 수 있으며 이를 극복하기 위해 wget
및 curl
명령을 어떻게 변경할 수 있습니까?
(이것은 파일을 가져올 수 없다는 것이 아닙니다. 브라우저에서 파일을 저장할 수 있다는 것을 알고 있습니다. 명령 줄 도구가 다르게 작동하는 이유를 이해하는 것입니다)
최신 정보
이 질문에 대한 모든 훌륭한 답변에 감사드립니다. 내가 겪은 특정 문제는 서버가 리퍼러를 확인하고 있다는 것입니다. 이것을 명령 줄에 추가하면 curl
and를 사용하여 파일을 얻을 수 wget
있습니다.
리퍼러를 확인한 서버는 302를 통해 전혀 확인하지 않은 다른 위치로 바운스되었으므로 해당 사이트 중 하나 curl
또는 전부가 wget
제대로 작동했습니다.
관심있는 사람이라면 내장 CSS에 대해 배우기 위해이 페이지를 읽고 사이트의 CSS를 보려고 했기 때문에이 문제가 발생했습니다 . 내가 문제를 겪고있는 실제 URL은 이것 이며 curl
결국은
curl -L -H 'Referer: http://css-tricks.com/forums/topic/font-face-in-base64-is-cross-browser-compatible/' http://cloud.typography.com/610186/691184/css/fonts.css
그리고 wget은
wget --referer='http://css-tricks.com/forums/topic/font-face-in-base64-is-cross-browser-compatible/' http://cloud.typography.com/610186/691184/css/fonts.css
매우 흥미로운.