중단된 세션을 계속할 수 있습니까 wget
? -o 또는 -a로 생성된 로그 파일을 구문 분석하거나 wget
추가 정보를 디스크에 저장한 후(예: 확인된 링크 및 보류 중인 링크 목록)?
서버가 크기 및 날짜 목록을 지원하는 경우 -N 옵션을 사용 wget
하면 나머지부터 계속할 수 있다는 것을 알고 있지만, 내가 다운로드한 웹사이트에는 대부분 PHP로 생성된 콘텐츠가 있으므로 -N이 작동하지 않을 것이라고 생각합니다.
시작한 일을 계속하고 싶지는 않지만, 가능하다면 다시 방해를 받을 경우를 대비해 다시 시도하기 전에 도움이 되는 내용을 열어두고 싶습니다.
+++
또한 추가적인 문제가 있습니다..."ERROR 400: Bad Request"가 많이 나타납니다...그건 문제가 있다는 뜻인 것 같아요또한열심이어서 서버가 나를 차단하거나 데이터베이스가 잠시 동안 압도됩니다. 어쨌든 복구가 가능합니까? 기본적으로 wget
중단한 부분부터 시작하고(로그나 링크된 목록 등을 구문 분석한 후) 문제가 있는 페이지도 다시 실행하세요(예: 처음으로 목록을 편집한 후).
답변1
Wget은 다양한 방식으로 사용될 수 있지만 PHP 콘텐츠를 기반으로 http(s) 요청을 만드는 브라우저를 시뮬레이션하는 데 Wget을 사용한다고 가정합니다.
wget이 중단된 세션을 재개할 수 있는 방법은 없습니다. wget이 상호작용하는 웹 서버는 상태 비저장이므로 중단된 세션에서 발생한 일을 정확히 추적할 수 있는 것이 없습니다. 당신이 할 수 있는 일은 다시 요청하는 것뿐입니다. 물론 그것은 새로운 세션이 될 것이고 결코 이전과 같지 않을 것이기 때문에 당신에게 도움이 되지 않을 것입니다.
wget 세션이 중단되면 세션이 더 이상 존재하지 않습니다. 동적으로 생성된 콘텐츠는 해당 특정 세션에 종속되며 해당 세션을 제공하기 위해서만 생성됩니다. 세션이 종료되면 세션의 동적 콘텐츠가 사실상 더 이상 존재하지 않습니다. 어떻게든 돌아가서 지금은 없어진 세션을 재개하거나 해당 세션을 제공하기 위해서만 존재했던 지금은 없어진 동적 콘텐츠와 상호작용할 수 있는 방법이 없습니다.
웹 서버는 상태를 저장하지 않는다는 점을 기억하세요. 요청을 하면 해당 요청에 대한 고유한 응답을 즉시 받게 됩니다. 더 복잡한 것(예: 세션 및 동적 콘텐츠)은 임시 세션 ID 및/또는 토큰을 브라우저에 전달하여 이러한 상태 비저장 요청을 호스팅합니다. 그런 다음 다음 요청이 오면 동적 콘텐츠를 생성하는 애플리케이션이나 PHP 스크립트가 해당 세션 ID/토큰을 확인하고 논리적으로 적절한 방식으로 브라우저에 응답합니다.
브라우저가 이전에 가졌던 것과 동일한 세션 ID와 토큰을 어떻게든 재현할 수 있더라도(시간을 낭비하지 마십시오) 어쨌든 세션 ID/토큰이 몇 초 내에 서버 측에서 만료될 확률이 99.99999%입니다. 마지막 부탁입니다.
이것은 귀하의 질문 범위를 훨씬 벗어나지만 귀하의 브라우저가 해당 서버에서 상호 작용하는 정확한 코드/스크립트에 따라 가짜 세션 ID/토큰이 전달될 수 있지만 일반적으로 복구는 불가능합니다. 대화 모임이 중단되었습니다. 귀하의 경우에는 세션을 재현하기 위해 세션을 잃기 전에 해당 세션 ID/토큰을 캡처해야 하므로 이는 불가능합니다.