2011-11-23 2 views
2

컬을 사용하여 파일을 다운로드하려고합니다. 이렇게하려면 먼저 파일을 다운로드 할 수 있도록 로그인해야합니다. 나는 컬 (curl)로 노력하고 있지만 효과가 없습니다. HTTP 헤더를보고 왜 작동하지 않는지 이해할 수 없습니다. 어떤 도움을 주셔서 감사합니다. 내가 사용하는 명령은 다음과 같습니다이 나를 위해 잘 작동기울이지 않고 파일을 다운로드하십시오.

curl -A 'Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.4) Gecko/20091030 Gentoo Firefox/3.5.4' --referer http://www.sportstracklive.com/signin -d 'userCredentialsForm.userCredentials.email=USERNAME%40gmail.com&userCredentialsForm.userCredentials.password=PASSWROD&_target1=Login' https://www.sportstracklive.com/signin -c cook.txt -v > pepelu 

curl -A 'Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.4) Gecko/20091030 Gentoo Firefox/3.5.4' --referer http://www.sportstracklive.com/signin -b cook.txt -v http://www.sportstracklive.com/user/username > pepelu2 

답변

0

. 당신이 다른 페이지를 원하는 경우 로그인 후

curl -L -c trackcookie.txt -d '[email protected]&userCredentialsForm.userCredentials.password=flesk&_target1=Login' https://www.sportstracklive.com/signin > track.html 

, 당신은 사용할 필요가 -b trackcookie.txt : 당신은 항상, 쿠키 기반 인증 페이지에 로그온 할 -L 옵션이 필요 쿠키 때문에

curl -L -b trackcookie.txt https://www.sportstracklive.com/user/pepelu > pepelu.html 

html 앞에 헤더의 일부로 보내야하므로 리디렉션해야합니다. 예외는 javascript로 작성된 쿠키이지만 다른 장이 있습니다.

편집 : 네 말이 맞아. 나는 결국 로그인하지 않았다. 로그인하는 올바른 방법은 다음과 같습니다

curl -Lc trackcookie.txt http://www.sportstracklive.com/ > /dev/null 
curl -Lb trackcookie.txt -d '[email protected]&userCredentialsForm.userCredentials.password=flesk&_target1=Login' https://www.sportstracklive.com/signin > /dev/null 
curl -Lb trackcookie.txt http://www.sportstracklive.com/live/track/gpx?userid=31746 > mytracks.zip 

쿠키는 실제로 당신이 로그 아웃 후 살아있다, 그래서 쿠키에 세션 ID가 올바른 세션에 해당하는 여부를 결정 서버 요청이 시퀀스처럼 보인다 아니. 필자는 Firefox에 설정된 세션 ID를 사용하여 zip 파일을 다운로드 한 후 그 파일에 로그인했을 때 그 파일을 다운로드 한 후 그 파일을 찾았습니다.

+0

고맙지 만 작동하지 않습니다. – user650034

+0

페이지에 로그인하면. 오른쪽에는 로그인하는 경우 Facebook 앱, 모든 트랙 다운로드 (GPX 형식) 및 모든 트랙보기와 같은 3 가지 옵션이 있습니다. 소스 코드를 다운로드하기 위해 두 번째 문장을 실행하면 이러한 옵션이 표시되지 않습니다. 내가 로그인하지 않은 것 같습니다. 어떤 도움을 주시겠습니까? – user650034

+0

@ user650034 : 네 말이 맞아. 그것은 작동하지 않았지만, 나는 그것을 알아 냈다. 이전에이 특정 로그인과 마주 치지 않았습니다. – flesk

관련 문제