내가 겪고 있는 문제는이 문제, 문제는 브라우저에서 호출하면 파일을 다운로드하는 특정 URL이 있지만 명령줄에서 호출하면 wget
(bla는 문자열)이라는 이름의 API.php?bla
파일이 생성된다는 것입니다. 이전 질문에서는 wget의 --referer 옵션 사용을 제안하는 몇 가지 답변이 제공되었습니다. 이것은 나에게 효과가 없으며 지나치게 복잡해 보입니다.
더 쉬운 해결책이 있는지 궁금합니다. 브라우저에서 호출하는 것처럼 터미널에서 URL을 호출하여 올바른 파일이 다운로드되었는지 확인하기 위해 브라우저가 일반적으로 수행하는 모든 작업을 수행할 수 있습니까? xdg-open을 사용할 수 있지만 그렇게 하면 불필요하게 브라우저 창이 열리게 됩니다. 이는 보기 흉합니다.
답변1
wget을 사용하여 액세스할 때와 대화형 브라우저를 사용하여 액세스할 때 URL이 서로 다른 콘텐츠를 반환할 수 있는 데는 여러 가지 이유가 있습니다. 서버는 사용자 에이전트, 리퍼러, 쿠키, JavaScript 가용성 및 JavaScript를 사용하여 쿼리할 수 있는 많은 속성을 기반으로 다양한 콘텐츠를 제공할 수 있습니다.
"무거운" 브라우저(JS 등 지원)의 동작을 시뮬레이션하는 유일한 일반적인 솔루션은 브라우저를 실행하는 것입니다. 보다 가벼운 솔루션은 서버가 의존하는 브라우저 기능에 따라 작동할 수도 있고 작동하지 않을 수도 있습니다. 브라우저를 헤드리스로 실행할 수 있습니다. 바라보다wget을 사용하여 호스팅 사이트에서 다운로드하는 방법은 무엇입니까?,컬을 사용하여 네트워크 요청을 자동화하시겠습니까?,Linux에서 Firefox 헤드리스를 실행하는 방법(예: libgtk-x11-2.0.so.0이 필요 없음)?,…