나는 PHP 스크립트에서 그것을 알고있다 :
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
리디렉션을 따릅니다. 커맨드 라인 cURL로 리디렉션을 수행하는 방법이 있습니까?
답변
위치 헤더 플래그를 사용하십시오.
curl -L <URL>
답변
나는 비슷한 문제가 있었다. 나는 그것이 의견 중 하나에 도움이 될 것이라고 생각하기 때문에 여기에 내 솔루션을 게시하고 있습니다.
나를 위해 장애물은 페이지에 로그인이 필요하고 자바 스크립트를 통해 새 URL을 제공한다는 것입니다. 내가해야 할 일은 다음과 같습니다.
curl -c cookiejar -g -O -J -L -F "j_username=yourusename" -F "j_password=yourpassword" <URL>
j_username 및 j_password는 내 웹 사이트 로그인 양식의 필드 이름입니다. 사용자 이름 필드의 ‘이름’과 비밀번호 필드의 ‘이름’이 무엇인지 확인하려면 웹 페이지의 소스를 열어야합니다. 그 후 새 URL이 포함 된 Java 스크립트가있는 html 파일로 이동합니다. 이것을 파싱 한 후 새로운 URL로 다시 제출하십시오.
curl -c cookiejar -g -O -J -L -F "j_username=yourusename" -F "j_password=yourpassword" <NEWURL>
답변
언급했듯이 리디렉션을 따르 려면 플래그 -L
또는 --location
다음을 사용할 수 있습니다 .
curl -L http://www.example.com
그러나 리디렉션 수를 제한 하려면 매개 변수를 추가하십시오.--max-redirs
--max-redirs <num>
허용되는 최대 리디렉션 추적 수를 설정하십시오. 만약
-L
,--location
사용이 옵션은 “absurdum에”리디렉션 다음에서 컬을 방지 할 수 있습니다. 기본적으로 제한은 50 리디렉션으로 설정되어 있습니다. 무한대로 만들려면이 옵션을 -1로 설정하십시오. 이 옵션을 여러 번 사용하면 마지막 옵션이 사용됩니다.