curl | grep
웹페이지의 일부 데이터가 필요 하지만뒤쪽에언어를 영어로 설정하세요. 브라우저에서 링크를 클릭하면 이 작업을 수행할 수 있습니다.
먼저 SelectCulture
페이지를 가져와 쿠키를 파일에 저장한 다음 이를 사용하여 필요한 페이지를 가져옵니다.
#!/bin/bash
#tmp_file="$(mktemp)"
tmp_file="cookies"
curl -s \
--location \
--cookie "$tmp_file" \
--cookie-jar "$tmp_file" \
--user-agent Mozilla/4.0 \
--data-urlencode "ReturnUrl=http://it.bca-europe.com/Default.aspx" \
"http://it.bca-europe.com/Home/SelectCulture/en-GB-BDIT" | egrep "Ospite|Guest"
curl -s \
--location \
--cookie "$tmp_file" \
--user-agent Mozilla/4.0 \
"http://it.bca-europe.com/Default.aspx" | egrep "Ospite|Guest"
문제는 처음 실행 시 파일이 cookies
아직 존재하지 않는 경우 언어가 변경되지 않는다는 것입니다(이탈리아어가 표시됨).오스핏바꾸다손님), 스크립트는 두 번째 실행부터 작동합니다.
예를 들어 정적 파일 대신 임시 파일을 사용할 필요가 없습니다. 그리고 이상하게도 한 번에 작동시킬 수 없습니다.
어떤 제안이 있으십니까?
답변1
브라우저는 일반적으로 모든 요청에 대해 허용되는 언어 목록을 보냅니다. CMS는 일반적으로 쿠키가 설정되지 않은 경우 이 기능을 사용합니다. (이론적으로 쿠키는 대체일 뿐이며 언어 설정이 정확합니다.) 이것은 <span>Hello Guest</span>
저에게 효과적입니다.
curl -s --location -H 'Accept-Language: en' "http://it.bca-europe.com/Home/SelectCulture/en-GB-BDIT" | egrep "Ospite|Guest"