쿠키를 사용하여 컬에서 언어 설정

쿠키를 사용하여 컬에서 언어 설정

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"

관련 정보