다음 명령을 사용하여 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
브라우저 변조 플러그인/확장 프로그램은 올바른 데이터와 브라우저에 게시된 모든 데이터(예: 양식의 숨겨진 입력 필드)를 찾는 데 도움이 될 수 있습니다.