2012-03-21 8 views
0

나는 wget 명령에 의심의 여지가있다. 다음은 내가 성취하고자하는 일입니다. 이 링크 (http://snapshots.linaro.org/oneiric/lt-origen-oneiric/20120321/0/images/hwpack/hwpack_linaro-lt-origen_20120321-0_armel_supported.tar.gz)에서 타르 패키지를 다운로드하고 싶습니다. 이 링크는 브라우저에서 패키지를 다운로드 할 때 잘 작동하지만 동일한 링크를 사용하여 wget 명령을 통해 다운로드하면 "http://snapshots.linaro.org/licenses/samsung-"로 리디렉션됩니다. v2.html "링크를 클릭하고 tar 파일을 다운로드하는 대신 사용권 계약 파일을 다운로드합니다. 그래서 원하는 tar 파일과 라이센스 계약 파일을 다운로드 할 수 있도록 어떤 옵션을 제공해야합니까? 이 문제에 대해 저를 도우십시오.wget이 제대로 작동하지 않습니다.

답변

2

웹 브라우저에서와 동일한 작업을 wget으로 복제해야합니다. 첫 번째 단계는 라이센스 페이지를 요청할 때 실행되는 http 요청이 무엇인지 확인하고 확인 버튼을 확인하는 것입니다.

이렇게하려면 firebug 또는 livehttpheaders을 사용할 수 있습니다. 일단 urls (post/get params)를 가지고 있다면 쉘 스크립트와 다중 wget 호출로 그것을 재현 할 수 있습니다.

웹 사이트가 쿠키를 추적하는 경우 wget에 쿠키를 저장하고 추가 요청을 위해 쿠키 쿠키를 사용하도록 지시해야합니다. 귀하의 경우에는

은 첫 번째 요청은 클릭 할 때 쿠키 및 리디렉션을 얻을 수있는

GET /oneiric/lt-origen-oneiric/20120321/0/images/hwpack/hwpack_linaro-lt-origen_20120321-0_armel_supported.tar.gz HTTP/1.1 

Set-Cookie: downloadrequested=/oneiric/lt-origen-oneiric/20120321/0/images/hwpack/hwpack_linaro-lt-origen_20120321-0_armel_supported.tar.gz; path=/; domain=.snapshots.linaro.org 
Location: http://snapshots.linaro.org/licenses/samsung-v2.html 

버튼을

GET /licenses/samsung-accepted.html HTTP/1.1 

당신이 얻을 허용을 다른 쿠키 및 다른 위치 (donwload 할 파일)

Set-Cookie: samsunglicenseaccepted-v1=true; path=/oneiric/lt-origen-oneiric/20120321/0/images/hwpack/; domain=.snapshots.linaro.org; expires=Wed, 21-Mar-2012 17:37:57 GMT 
Location: http://snapshots.linaro.org/oneiric/lt-origen-oneiric/20120321/0/images/hwpack/hwpack_linaro-lt-origen_20120321-0_armel_supported.tar.gz 
관련 문제