2013-08-28 6 views
8

cURL을 사용하여로드하려는 사이트가 있습니다. 그러나, 내가 말하는 사이트는 cloudflare 보호를 사용하고 있습니다. cURL 요청 => '브라우저를 확인하면 5 초 후에 리디렉션됩니다.'라고 표시되며 일부 보호 테스트를 통과하지 못했기 때문에 존재하지 않는 페이지로 리디렉션됩니다.cURL - CloudFlare 보호 기능이있는 사이트로드

나는 오랫동안 내 대답을 찾고 있었어요 그리고 난 두 유용한 링크를 발견 :

Link 1

Link 2

을하지만 여전히 나는 그것을 알아낼 수 없습니다. 나 도움이 필요해?

+2

그러면 프로그래밍 방식으로 URL을 읽지 않아야합니다. – developerwjk

+0

아마도 사이트 사이트에 액세스하는 것을 원하지 않는다면 안됩니까? –

+0

[curl : CloudFlare로 인해 웹 사이트에서 rss를 가져올 수 없습니다.] (http://stackoverflow.com/questions/11886711/curl-cant-fetch-rss-from-website-because-of-cloudflare) – andree

답변

12

내가 공격 모드에서 해요 CloudFlare 년대 될 것이라고 ->http://blog.cloudflare.com/introducing-im-under-attack-mode

당신이 사이트의 소유자 인 경우 자신의 IP 주소를 화이트리스트해야한다. 당신은 사이트 중 하나

1)에 방문자 경우 웹 사이트 소유자는 자신의 웹 사이트에서 사용할 기능을 가지고있는 경우는 의도적이고 그들의 웹 사이트 또는

를 보호하는 것처럼 그 주위에 방법이 없습니다에

2.) 사이트를 너무 자주로드하고 있으며 CloudFlare의 DDoS 보호를 실행 중입니다.

p.s. 면책 조항 : 저는 CloudFlare에서 일합니다.

+0

안녕하세요. CloudFlare에서 일하면서 "Content Protection"을 우회하는 방법을 알려드립니다. 1. Curl을 사용하여 페이지로드 2. Selenium에 전달하여 Chrome에 브라우저 설정. 3. 이전 쿠키가있는 페이지를로드하고 5 초 동안 기다렸다가 내용을 인쇄하십시오. 간단히 :) –

12

주요 브라우저의 개발자 도구 아래에있는 네트워크 섹션에서 'cUrl (으)로 복사'를 선택하면 공격 중 모드에서 벗어날 수 있습니다.

이렇게하면 필요한 모든 쿠키가 복사되어 컬이 '인증'될 수 있습니다. 쿠키가 얼마나 오랫동안 지속될지는 cloudflare에 달려 있습니다.

SideNote : 컬은 사이트를로드 할 때와 동일한 IP에서 실행해야합니다. 또한 실제 테스트/개발 환경의 경우 웹 사이트 테스트를 위해 더 좋고 쉽게 스크립팅 할 수있는 언어가 많이있는 selenium 및/또는 phantomjs을 제안합니다.

curl 'https://ilikeurls.net/ourpage.php?do=command' \ 
    -H 'Host: ilikeurls.net' \ 
    -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:33.0) Gecko/20100101 Firefox/33.0' \ 
    -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' \ 
    -H 'Accept-Language: en-US,en;q=0.5' \ 
    -H 'Accept-Encoding: gzip, deflate' \ #remove this line for readable/greppable formatting 
    -H 'Referer: https://ilikeurls.net/outpage.php' \              
    -H 'Cookie: all required cookies will appear here' \ 
    -H 'Connection: keep-alive' 

셀레늄이나 팬텀을 사용하여 테스트를 수행하는 것이 더 나을지 모르지만.

+2

사실,'-H '하지 마라 Accept-Encoding : gzip, deflate'' - do'--compressed' - 이것은 curl이 컴파일 된 모든 압축 스키마와 함께 같은 헤더를 보낸다. 보통'gzip, deflate'로 끝납니다. 컬은 자동으로 압축을 풀어 가독성과 greppability를 유지하고 압축이 제공하는 속도 향상을 유지합니다. :) – hanshenrik

관련 문제