다음 명령을 사용하여 cURL 명령줄에서 로그인을 시도하고 있습니다.
컬 --data "사용자 이름=사용자&비밀번호=패스&제출=로그인"http://www.ip.com:8080/LoginApplication/Login.jsp
그 후 다음을 사용하여 내부 페이지에 액세스하려고 시도했습니다.
curl http://www.ip.com:8080/LoginApplication/Success.jsp
그런데 로그인이 안되어 오류페이지로 리다이렉트가 되네요.
세션을 유지할 수 있도록 첫 번째 명령에서 누락된 것은 무엇입니까? 내 웹사이트를 로컬에서 호스팅하고 있습니다.
답변1
음, 세션 데이터를 쿠키에 저장해야 합니다. 쿠키를 생성하는 데 사용할 수 있습니다 -c cookie_filename
(로그인 명령에 추가). 그런 다음 다른 요청의 경우 -b cookie_filename
.
예를 들어:
curl -s loginpage -c cookiefile -d "user=myself&pass=secure"
curl -s secretpage -b cookiefile
편집하다:
loginpage
사용자와 비밀번호를 입력하는 웹 브라우저로 여는 페이지가 아닌 경우가 많습니다 . 양식이 해당 데이터를 게시하는 위치를 확인해야 합니다( <form>
소스 코드에서 태그를 검색하고action=...
속성에서 태그 검색). 예를 들어 다음 사이트에 로그인하려는 경우https://criticker.com, loginpage
이다https://www.criticker.com/authenticate.php그리고는 아니다https://www.cticker.com/signin.php, 브라우저로 여는 파일입니다.
loginpage
귀하의 브라우저에 대한 변조 플러그인/확장 기능은 게시되는 올바른 모든 데이터(예: 양식의 숨겨진 입력 필드)를 찾는 데 도움이 될 수 있습니다 .