
커스텀 Selenium Chromedriver | 제로 구성 | 모든 봇 차단 시스템 통과 (예: Distil / Imperva/ Datadadome / CloudFlare IUAM)
https://github.com/ultrafunkamsterdam/undetected-chromedriver
Distill Network / Imperva / DataDome / Botprotect.io 같은 안티봇 서비스를 트리거하지 않는 최적화된 Selenium Chromedriver 패치입니다. 드라이버 바이너리를 자동으로 다운로드하고 패치합니다.
pip install undetected-chromedriver
또는 , 모험심이 있다면, github을 통해 직접 설치하세요.```
pip install git+https://www.github.com/ultrafunkamsterdam/undetected-chromedriver@master # replace @master with @branchname for other branches
이슈 트래커에 제한을 두겠습니다. 너무 오랫동안 남용되었습니다.
좋은 소식이라도 있나요?
네, Undetected-Discussions를 열었습니다. 장기적으로 우리에게 더 도움이 될 것이라고 생각합니다.
이 패키지는 IP 주소를 숨기지 않습니다. 반복하지만, IP 주소를 숨기지 않습니다. 따라서 데이터센터(작은 데이터센터라도)에서 실행하면 통과하지 못할 가능성이 높습니다! 또한, 집에서 사용하는 IP 평판이 낮다면 통과하지 못할 것입니다!
다음 코드를 집에서, 그리고 데이터센터에서 실행합니다.```python import undetected_chromedriver as uc driver = uc.Chrome(headless=True,use_subprocess=False) driver.get('https://nowsecure.nl') driver.save_screenshot('nowsecure.png')
<div style="display:flex;flex-direction:row">
<img src="https://assets.kitploit.com/production/public/readmes/50956/c1bde1e3621f106c2504cf4ecb9cc9015b23340c7a9bd5f20364c27016b2dd40/4f02747809c3b183c8af8238f6858540057402adfe0f26d4fa9d646091fa5781-display-v1.webp" width="720"/>
<img src="https://assets.kitploit.com/production/public/readmes/50956/ac44f4c3d408a07f4a0b96b2eb37ecc58f3a9711f32b31a642c27e96ad2ab767/c94f4da9c540b7890c9350605f085bddc730ed40073c886ff94a2475bdfe806a-display-v1.webp" width="720"/>
</div>
<!--  -->
<!--  -->
## 3.5.0 ##
- selenium 4.10이 몇 가지 문제를 일으켰습니다. 3.5.0은 호환되며 selenium 4.9 이상으로 고정되어 있습니다. 더 이상 4.9 미만은 지원할 수 없습니다.
- 생성자에서 일부 kwargs를 제거했습니다: service_args, service_creationflags, service_log_path.
- find_elements_recursive 제너레이터 함수를 추가했습니다. 이는 편의 함수에 가까운데, 많은 웹사이트가 서로 다른 프레임에서 다른 콘텐츠를 제공하는 것 같아
find_elements를 사용하기 어렵게 만들기 때문입니다.
## 3.4.5 ##
- 정신없는 한 주였습니다. 3.4.0으로 최신 자동화 탐지 알고리즘을 제압했다고 생각했지만, 일부 OS에서는 요소와 상호작용할 때 오류가 발생했습니다. 다른 방법을 사용해 되돌리고 버그를 수정한 끝에, 결국 처음의 아이디어를 고수할 수 있었습니다(+ 버그 수정).
- chrome 110 업데이트는 또 다른 뜻밖의 문제를 안겼습니다. 이번에는 HEADLESS 사용자에게였습니다.
- headless는 공식적으로 지원되지 않지만, 패치했습니다!
- 이제 역시 탐지되지 않는다는 소식을 기쁘게 알려드립니다 (여전히 공식 지원은 아니지만 ;))
- [@mdmintz](https://github.com/mdmintz)와 [@abdulzain6](https://github.com/abdulzain6)에게 특별히 감사드립니다.
- 또한 issues 섹션에서 전적으로 자발적으로 도움을 주신 [@sebdelsol](https://github.com/sebdelsol)에게도 특별히 감사드립니다. 미치신 것 같아요 :)
### 3.4.0 ###
**대규모 업데이트! 코드가 -잠재적으로- 깨질 수 있으니 주의하세요.**
* 변수를 제거하고 이름을 바꾸는 대신 안티 탐지 메커니즘을 다시 작성했습니다. 변수는 그대로 두되, 처음부터 주입되지 않도록 막는 방식입니다. 이를 통해 적어도 가까운 미래에는 탐지로부터 안전할 수 있습니다.
* 파일 이름 지정 방식을 다시 작성했습니다. {randomstring}_chromedriver.exe 파일이 1000개나 생기는 대신 이제는 그냥 undetected_chromedriver.exe라고 불립니다.
* 정리: compat, v2 파일과 tests 폴더를 제거했습니다.
### 3.2.0 ###
* 일반적인 webdriver 코드와 자주 묻는 질문에 대한 답변, 함정(pitfalls)을 담은 예제를 추가했으며, 멀티스레딩의 필요성을 없애는 몇 가지 트릭도
함께 보여줍니다.
### [>>>> 예제 코드 보기 <<<<](https://github.com/ultrafunkamsterdam/undetected-chromedriver/blob/master/example/example.py)
* 링크를 클릭한 후 탐지될 경우 시도해볼 수 있는 WebElement.click_safe() 메서드를 추가했습니다. 이것이 반드시 동작한다는 보장은 없습니다.
* WebElement.children(self, tag=None, recursive=False) 메서드 추가
자식 노드를 쉽게 가져오거나 찾을 수 있습니다. 예시:
```
body = driver.find_element('tag name', 'body')
# get the 6th child (any tag) of body, and grab all img's within (recursive).
images = body.children()[6].children('img', True)
srcs = list(map(lambda _:_.attrs.get('src'), images))
```
* 사람들이 우스운 질문을 하면 안내해줄 수 있는 example.py를 추가했습니다
(아니요, 사실 꽤 멋집니다. 모두가 봐야 합니다)
* lambda 플랫폼 지원 추가
* x86_32 지원 추가
* linux2로 보고되는 시스템 지원 추가
* 일부 리팩토링
### 3.1.6 ###
### 여전히 강력하게 통과 중 ###
- use_subprocess는 이제 기본값이 True입니다. 너무 많은 사람들이 multiprocessing과 __name__ == '__main__'을 이해하지 못하고 있으며, 테스트 결과
chrome 104+에서는 더 이상 차이가 없는 것으로 보입니다.
- no_sandbox를 추가했습니다. 기본값은 True이며, 성가신 "보안에 취약한 명령줄을 사용하고 있습니다 ..." 경고 바가 표시되지 않습니다.
- [Docker image](https://hub.docker.com/r/ultrafunk/undetected-chromedriver)를 업데이트했습니다. 이제 컨테이너에 vnc 또는 rdp로 접속하여
실제 브라우저 창을 볼 수 있습니다
[](https://i.imgur.com/W7vriN9.mp4)
- 물론 "일반" 모드도 정상 작동합니다
[](https://i.imgur.com/2qSNyuK.mp4)
### 3.1.0 ###
**이 버전은 코드를 `깨뜨릴` 수 있습니다. 업데이트 전에 테스트하세요!**
- **새로운 안티 탐지 로직 추가!**
- v2가 이제 메인 모듈이 되었으므로 더 이상 v2를 참조할 필요가 없습니다. 이제 다음과 같이 간단히 사용할 수 있습니다: ```python
import undetected_chromedriver as uc
driver = uc.Chrome()
driver.get('https://nowsecure.nl')
이전 버전과의 호환성을 위해 v2는 제거되지 않고 기본 모듈에 대한 별칭으로 유지됩니다.
Windows가 아닌 OS에서 "환영 화면"이 계속 나타나던 문제를 수정했습니다. 환영 화면과 구글에 더 많은 데이터를 제공하는 것을 ❤하는 "잔소리 페티시스트" 분들을 위해, Chrome(suppress_welcome=False)를 사용하세요.
생성자에서 executable_path는 browser_executable_path로 대체되었습니다.
이 옵션은 사용자 지정 Chrome 설치 폴더를 PATH
환경 변수에 추가할 수 없거나, 다양한 브라우저/버전을 보유하여 자동 조회가 잘못된 브라우저를 반환하는 엣지 케이스(네, 바로 당신입니다)가 아닌 이상 사용하지 마세요.
"v1" (?)은 일단 _compat으로 이동했습니다.
의존성 버전을 수정했습니다.
ChromeOptions 사용자 지정 처리를 제거하여 webdriver.chromium.options.ChromiumOptions와 호환되도록 했습니다.
Chrome.get()의 fu를 제거하고 "거의" 원래대로 복원했습니다:
with 문이 필요하지 않지만, 이전 버전과의 호환성을 위해 여전히 동작합니다.현재까지 테스트 성공률: 100%
다시 한 번 언급하지만, 읽기 어려워하는 분들이 계시므로: headless는 여전히 WIP입니다. 이슈를 올리는 것은 불필요합니다
프로세스 생성 동작이 완전히 분리(detached)되도록 변경했습니다.
.get(url) 메서드가 항상 contextmanager를 사용하도록 변경했습니다.
.get(url) 메서드가 내부적으로 cdp를 사용하도록 변경했습니다.
... with 문은 더 이상 필요하지 않습니다 ..
할 일: async화 및 selenium 4를 향해 작업하기
겁먹은 자를 마주칠 때마다from session not created: This version of ChromeDriver only supports Chrome version 96 # or what ever version
the solution is simple:
import undetected_chromedriver as uc
driver = uc.Chrome( version_main = 95 ) ```
**July 2021: Currently busy implementing selenium 4 for undetected-chromedriver**
**newsflash: https://github.com/ultrafunkamsterdam/undetected-chromedriver/pull/255**
## Usage ##
To prevent unnecessary hair-pulling and issue-raising, please mind the **[important note at the end of this document](#important-note) .**
<br>
### easy ###
Literally, this is all you have to do. Settings are included and your browser executable is found automagically. This is also the snippet i
recommend using in case you experience an issue.
```python
import undetected_chromedriver as uc
driver = uc.Chrome()
driver.get( 'https://nowsecure.nl' ) # my own test test site with max anti-bot protection```
### more advanced way, including setting profie folder ###
Literally, this is all you have to do. If a specified folder does not exist, a NEW profile is created. Data dirs which are specified like
this will not be autoremoved on exit.
```python
import undetected_chromedriver as uc
options = uc.ChromeOptions()
# 프로필 설정
options.user_data_dir = "c:\\temp\\profile"
# 특정(이전) 버전 사용
driver = uc.Chrome(
options = options , version_main = 94
) # version_main은 Chrome 전역 버전을 따르는 대신 Chrome 버전을 지정할 수 있게 해줍니다.
driver.get( 'https://nowsecure.nl' ) # 최대 안티봇 보호 기능이 있는 나만의 테스트 테스트 사이트```
### expert mode, including Devtool/Wire events ###
Literally, this is all you have to do. You can now listen and subscribe to the low level devtools-protocol. I just recently found out that
is also on planning for future release of the official chromedriver. However i implemented my own for now. Since i needed it myself for
investigation.
```python
import undetected_chromedriver as uc
from pprint import pformat
driver = uc.Chrome(enable_cdp_events=True)
def mylousyprintfunction(eventdata):
print(pformat(eventdata))
# Network.dataReceived에 대한 콜백을 설정하여 출력합니다 (네, 그렇게 독창적이진 않네요)
driver.add_cdp_listener("Network.dataReceived", mylousyprintfunction)
driver.get('https://nowsecure.nl') # cloudflare의 "under attack mode"를 사용하는 알려진 URL
def mylousyprintfunction(message):
print(pformat(message))
# 더 많은 영감을 얻으려면 아래 링크를 확인하세요
# https://chromedevtools.github.io/devtools-protocol/1-3/Network/
# 그리고 물론 2개의 조잡한 예제
driver.add_cdp_listener('Network.requestWillBeSent', mylousyprintfunction)
driver.add_cdp_listener('Network.dataReceived', mylousyprintfunction)
# 힌트: 와일드카드는 모든 이벤트를 캡처합니다!
# driver.add_cdp_listener('*', mylousyprintfunction)
# 이제 이 모든 이벤트가 내 콘솔에 출력됩니다
driver.get('https://nowsecure.nl'){'method': 'Network.requestWillBeSent',
'params': {'documentURL': 'https://nowsecure.nl/',
'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'hasUserGesture': False,
'initiator': {'type': 'other'},
'loaderId': '449906A5C736D819123288133F2797E6',
'request': {'headers': {'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Windows NT '
'10.0; Win64; x64) '
'AppleWebKit/537.36 (KHTML, '
'like Gecko) '
'Chrome/90.0.4430.212 '
'Safari/537.36',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0'},
'initialPriority': 'VeryHigh',
'method': 'GET',
'mixedContentType': 'none',
'referrerPolicy': 'strict-origin-when-cross-origin',
'url': 'https://nowsecure.nl/'},
'requestId': '449906A5C736D819123288133F2797E6',
'timestamp': 190010.996717,
'type': 'Document',
'wallTime': 1621835932.112026}}
{'method': 'Network.requestWillBeSentExtraInfo',
'params': {'associatedCookies': [],
'headers': {':authority': 'nowsecure.nl',
':method': 'GET',
':path': '/',
':scheme': 'https',
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'en-US,en;q=0.9',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0',
'sec-fetch-dest': 'document',
'sec-fetch-mode': 'navigate',
'sec-fetch-site': 'none',
'sec-fetch-user': '?1',
'upgrade-insecure-requests': '1',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; '
'x64) AppleWebKit/537.36 (KHTML, like '
'Gecko) Chrome/90.0.4430.212 '
'Safari/537.36'},
'requestId': '449906A5C736D819123288133F2797E6'}}
{'method': 'Network.responseReceivedExtraInfo',
'params': {'blockedCookies': [],
'headers': {'alt-svc': 'h3-27=":443"; ma=86400, h3-28=":443"; '
'ma=86400, h3-29=":443"; ma=86400',
'cache-control': 'private, max-age=0, no-store, '
'no-cache, must-revalidate, '
'post-check=0, pre-check=0',
'cf-ray': '65444b779ae6546f-LHR',
'cf-request-id': '0a3e8d7eba0000546ffd3fa000000001',
'content-type': 'text/html; charset=UTF-8',
'date': 'Mon, 24 May 2021 05:58:53 GMT',
'expect-ct': 'max-age=604800, '
'report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"',
'expires': 'Thu, 01 Jan 1970 00:00:01 GMT',
'nel': '{"report_to":"cf-nel","max_age":604800}',
'permissions-policy': 'accelerometer=(),autoplay=(),camera=(),clipboard-read=(),clipboard-write=(),fullscreen=(),geolocation=(),gyroscope=(),hid=(),interest-cohort=(),magnetometer=(),microphone=(),payment=(),publickey-credentials-get=(),screen-wake-lock=(),serial=(),sync-xhr=(),usb=()',
'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report?s=CAfobYlmWImQ90e%2B4BFBhpPYL%2FyGyBvkcWAj%2B%2FVOLoEq0NVrD5jU9m5pi%2BKI%2BOAnINLPXOCoX2psLphA5Z38aZzWNr3eW%2BDTIK%2FQidc%3D"}],"group":"cf-nel","max_age":604800}',
'server': 'cloudflare',
'vary': 'Accept-Encoding',
'x-frame-options': 'SAMEORIGIN'},
'requestId': '449906A5C736D819123288133F2797E6',
'resourceIPAddressSpace': 'Public'}}
{'method': 'Network.responseReceived',
'params': {'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'loaderId': '449906A5C736D819123288133F2797E6',
'requestId': '449906A5C736D819123288133F2797E6',
'response': {'connectionId': 158,
'connectionReused': False,
'encodedDataLength': 851,
'fromDiskCache': False,
'fromPrefetchCache': False,
'fromServiceWorker': False,
'headers': {'alt-svc': 'h3-27=":443"; ma=86400, '
'h3-28=":443"; ma=86400, '
'h3-29=":443"; ma=86400',
'cache-control': 'private, max-age=0, '
'no-store, no-cache, '
'must-revalidate, '
'post-check=0, '
'pre-check=0',
'cf-ray': '65444b779ae6546f-LHR',
'cf-request-id': '0a3e8d7eba0000546ffd3fa000000001',
'content-type': 'text/html; charset=UTF-8',
'date': 'Mon, 24 May 2021 05:58:53 GMT',
'expect-ct': 'max-age=604800, '
'report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"',
'expires': 'Thu, 01 Jan 1970 00:00:01 GMT',
'nel': '{"report_to":"cf-nel","max_age":604800}',
'permissions-policy': 'accelerometer=(),autoplay=(),camera=(),clipboard-read=(),clipboard-write=(),fullscreen=(),geolocation=(),gyroscope=(),hid=(),interest-cohort=(),magnetometer=(),microphone=(),payment=(),publickey-credentials-get=(),screen-wake-lock=(),serial=(),sync-xhr=(),usb=()',
'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report?s=CAfobYlmWImQ90e%2B4BFBhpPYL%2FyGyBvkcWAj%2B%2FVOLoEq0NVrD5jU9m5pi%2BKI%2BOAnINLPXOCoX2psLphA5Z38aZzWNr3eW%2BDTIK%2FQidc%3D"}],"group":"cf-nel","max_age":604800}',
'server': 'cloudflare',
'vary': 'Accept-Encoding',
'x-frame-options': 'SAMEORIGIN'},
'mimeType': 'text/html',
'protocol': 'h2',
'remoteIPAddress': '104.21.5.197',
'remotePort': 443,
'requestHeaders': {':authority': 'nowsecure.nl',
':method': 'GET',
':path': '/',
':scheme': 'https',
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'accept-encoding': 'gzip, deflate, '
'br',
'accept-language': 'en-US,en;q=0.9',
'sec-ch-ua': '" Not '
'A;Brand";v="99", '
'"Chromium";v="90", '
'"Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0',
'sec-fetch-dest': 'document',
'sec-fetch-mode': 'navigate',
'sec-fetch-site': 'none',
'sec-fetch-user': '?1',
'upgrade-insecure-requests': '1',
'user-agent': 'Mozilla/5.0 '
'(Windows NT 10.0; '
'Win64; x64) '
'AppleWebKit/537.36 '
'(KHTML, like Gecko) '
'Chrome/90.0.4430.212 '
'Safari/537.36'},
'responseTime': 1621835932177.923,
'securityDetails': {'certificateId': 0,
'certificateTransparencyCompliance': 'compliant',
'cipher': 'AES_128_GCM',
'issuer': 'Cloudflare Inc ECC '
'CA-3',
'keyExchange': '',
'keyExchangeGroup': 'X25519',
'protocol': 'TLS 1.3',
'sanList': ['sni.cloudflaressl.com',
'*.nowsecure.nl',
'nowsecure.nl'],
'signedCertificateTimestampList': [{'hashAlgorithm': 'SHA-256',
'logDescription': 'Google '
"'Argon2021' "
'log',
'logId': 'F65C942FD1773022145418083094568EE34D131933BFDF0C2F200BCC4EF164E3',
'origin': 'Embedded '
'in '
'certificate',
'signatureAlgorithm': 'ECDSA',
'signatureData': '30450221008A25458182A6E7F608FE1492086762A367381E94137952FFD621BA2E60F7E2F702203BCDEBCE1C544DECF0A113DE12B33E299319E6240426F38F08DFC04EF2E42825',
'status': 'Verified',
'timestamp': 1598706372839.0},
{'hashAlgorithm': 'SHA-256',
'logDescription': 'DigiCert '
'Yeti2021 '
'Log',
'logId': '5CDC4392FEE6AB4544B15E9AD456E61037FBD5FA47DCA17394B25EE6F6C70ECA',
'origin': 'Embedded '
'in '
'certificate',
'signatureAlgorithm': 'ECDSA',
'signatureData': '3046022100A95A49C7435DBFC73406AC409062C27269E6E69F443A2213F3A085E3BCBD234A022100DEA878296F8A1DB43546DC1865A4C5AD2B90664A243AE0A3A6D4925802EE68A8',
'status': 'Verified',
'timestamp': 1598706372823.0}],
'subjectName': 'sni.cloudflaressl.com',
'validFrom': 1598659200,
'validTo': 1630238400},
'securityState': 'secure',
'status': 503,
'statusText': '',
'timing': {'connectEnd': 40.414,
'connectStart': 0,
'dnsEnd': 0,
'dnsStart': 0,
'proxyEnd': -1,
'proxyStart': -1,
'pushEnd': 0,
'pushStart': 0,
'receiveHeadersEnd': 60.361,
'requestTime': 190011.002239,
'sendEnd': 41.348,
'sendStart': 41.19,
'sslEnd': 40.405,
'sslStart': 10.853,
'workerFetchStart': -1,
'workerReady': -1,
'workerRespondWithSettled': -1,
'workerStart': -1},
'url': 'https://nowsecure.nl/'},
'timestamp': 190011.06449,
'type': 'Document'}}
{'method': 'Page.frameStartedLoading',
'params': {'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700'}}
{'method': 'Page.frameNavigated',
'params': {'frame': {'adFrameType': 'none',
'crossOriginIsolatedContextType': 'NotIsolated',
'domainAndRegistry': 'nowsecure.nl',
'gatedAPIFeatures': ['SharedArrayBuffers',
'SharedArrayBuffersTransferAllowed'],
'id': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'loaderId': '449906A5C736D819123288133F2797E6',
'mimeType': 'text/html',
'secureContextType': 'Secure',
'securityOrigin': 'https://nowsecure.nl',
'url': 'https://nowsecure.nl/'}}}
{'method': 'Network.dataReceived',
'params': {'dataLength': 9835,
'encodedDataLength': 0,
'requestId': '449906A5C736D819123288133F2797E6',
'timestamp': 190011.093343}}
{'method': 'Network.loadingFinished',
'params': {'encodedDataLength': 10713,
'requestId': '449906A5C736D819123288133F2797E6',
'shouldReportCorbBlocking': False,
'timestamp': 190011.064011}}
{'method': 'Network.requestWillBeSent',
'params': {'documentURL': 'https://nowsecure.nl/',
'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'hasUserGesture': False,
'initiator': {'stack': {'callFrames': [{'columnNumber': 51,
'functionName': '',
'lineNumber': 114,
'scriptId': '8',
'url': 'https://nowsecure.nl/'},
{'columnNumber': 9,
'functionName': '',
'lineNumber': 115,
'scriptId': '8',
'url': 'https://nowsecure.nl/'}]},
'type': 'script'},
'loaderId': '449906A5C736D819123288133F2797E6',
'request': {'headers': {'Referer': 'https://nowsecure.nl/',
'User-Agent': 'Mozilla/5.0 (Windows NT '
'10.0; Win64; x64) '
'AppleWebKit/537.36 (KHTML, '
'like Gecko) '
'Chrome/90.0.4430.212 '
'Safari/537.36',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0'},
'initialPriority': 'Low',
'method': 'GET',
'mixedContentType': 'none',
'referrerPolicy': 'strict-origin-when-cross-origin',
'url': 'https://nowsecure.nl/cdn-cgi/challenge-platform/h/b/orchestrate/jsch/v1?ray=65444b779ae6546f'},
'requestId': '17180.2',
'timestamp': 190011.106133,
'type': 'Script',
'wallTime': 1621835932.221325}}
{'method': 'Network.requestWillBeSent',
'params': {'documentURL': 'https://nowsecure.nl/',
'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'hasUserGesture': False,
'initiator': {'columnNumber': 13,
'lineNumber': 117,
'type': 'parser',
'url': 'https://nowsecure.nl/'},
'loaderId': '449906A5C736D819123288133F2797E6',
'request': {'headers': {'Referer': 'https://nowsecure.nl/',
'User-Agent': 'Mozilla/5.0 (Windows NT '
'10.0; Win64; x64) '
'AppleWebKit/537.36 (KHTML, '
'like Gecko) '
'Chrome/90.0.4430.212 '
'Safari/537.36',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0'},
'initialPriority': 'Low',
'method': 'GET',
'mixedContentType': 'none',
'referrerPolicy': 'strict-origin-when-cross-origin',
'url': 'https://nowsecure.nl/cdn-cgi/images/trace/jschal/js/transparent.gif?ray=65444b779ae6546f'},
'requestId': '17180.3',
'timestamp': 190011.106911,
'type': 'Image',
'wallTime': 1621835932.222102}}
{'method': 'Network.requestWillBeSent',
'params': {'documentURL': 'https://nowsecure.nl/',
'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'hasUserGesture': False,
'initiator': {'type': 'parser', 'url': 'https://nowsecure.nl/'},
'loaderId': '449906A5C736D819123288133F2797E6',
'request': {'headers': {'Referer': 'https://nowsecure.nl/',
'User-Agent': 'Mozilla/5.0 (Windows NT '
'10.0; Win64; x64) '
'AppleWebKit/537.36 (KHTML, '
'like Gecko) '
'Chrome/90.0.4430.212 '
'Safari/537.36',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0'},
'initialPriority': 'Low',
'method': 'GET',
'mixedContentType': 'none',
'referrerPolicy': 'strict-origin-when-cross-origin',
'url': 'https://nowsecure.nl/cdn-cgi/images/trace/jschal/nojs/transparent.gif?ray=65444b779ae6546f'},
'requestId': '17180.4',
'timestamp': 190011.109527,
'type': 'Image',
'wallTime': 1621835932.224719}}
{'method': 'Page.domContentEventFired', 'params': {'timestamp': 190011.110345}}
{'method': 'Network.requestWillBeSentExtraInfo',
'params': {'associatedCookies': [],
'clientSecurityState': {'initiatorIPAddressSpace': 'Public',
'initiatorIsSecureContext': True,
'privateNetworkRequestPolicy': 'WarnFromInsecureToMorePrivate'},
'headers': {':authority': 'nowsecure.nl',
':method': 'GET',
':path': '/cdn-cgi/images/trace/jschal/js/transparent.gif?ray=65444b779ae6546f',
':scheme': 'https',
'accept': 'image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'en-US,en;q=0.9',
'referer': 'https://nowsecure.nl/',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0',
'sec-fetch-dest': 'image',
'sec-fetch-mode': 'no-cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; '
'x64) AppleWebKit/537.36 (KHTML, like '
'Gecko) Chrome/90.0.4430.212 '
'Safari/537.36'},
'requestId': '17180.3'}}
{'method': 'Network.requestWillBeSentExtraInfo',
'params': {'associatedCookies': [],
'clientSecurityState': {'initiatorIPAddressSpace': 'Public',
'initiatorIsSecureContext': True,
'privateNetworkRequestPolicy': 'WarnFromInsecureToMorePrivate'},
'headers': {':authority': 'nowsecure.nl',
':method': 'GET',
':path': '/cdn-cgi/challenge-platform/h/b/orchestrate/jsch/v1?ray=65444b779ae6546f',
':scheme': 'https',
'accept': '*/*',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'en-US,en;q=0.9',
'referer': 'https://nowsecure.nl/',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0',
'sec-fetch-dest': 'script',
'sec-fetch-mode': 'no-cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; '
'x64) AppleWebKit/537.36 (KHTML, like '
'Gecko) Chrome/90.0.4430.212 '
'Safari/537.36'},
'requestId': '17180.2'}}
{'method': 'Network.requestWillBeSentExtraInfo',
'params': {'associatedCookies': [],
'clientSecurityState': {'initiatorIPAddressSpace': 'Public',
'initiatorIsSecureContext': True,
'privateNetworkRequestPolicy': 'WarnFromInsecureToMorePrivate'},
'headers': {':authority': 'nowsecure.nl',
':method': 'GET',
':path': '/cdn-cgi/images/trace/jschal/nojs/transparent.gif?ray=65444b779ae6546f',
':scheme': 'https',
'accept': 'image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'en-US,en;q=0.9',
'referer': 'https://nowsecure.nl/',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0',
'sec-fetch-dest': 'image',
'sec-fetch-mode': 'no-cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; '
'x64) AppleWebKit/537.36 (KHTML, like '
'Gecko) Chrome/90.0.4430.212 '
'Safari/537.36'},
'requestId': '17180.4'}}
{'method': 'Network.responseReceivedExtraInfo',
'params': {'blockedCookies': [],
'headers': {'accept-ranges': 'bytes',
'cache-control': 'max-age=7200\npublic',
'cf-ray': '65444b781d1de604-LHR',
'content-length': '42',
'content-type': 'image/gif',
'date': 'Mon, 24 May 2021 05:58:53 GMT',
'etag': '"60a4d856-2a"',
'expires': 'Mon, 24 May 2021 07:58:53 GMT',
'last-modified': 'Wed, 19 May 2021 09:20:22 GMT',
'server': 'cloudflare',
'vary': 'Accept-Encoding',
'x-content-type-options': 'nosniff',
'x-frame-options': 'DENY'},
'requestId': '17180.3',
'resourceIPAddressSpace': 'Public'}}
{'method': 'Network.responseReceivedExtraInfo',
'params': {'blockedCookies': [],
'headers': {'accept-ranges': 'bytes',
'cache-control': 'max-age=7200\npublic',
'cf-ray': '65444b781d1fe604-LHR',
'content-length': '42',
'content-type': 'image/gif',
'date': 'Mon, 24 May 2021 05:58:53 GMT',
'etag': '"60a4d856-2a"',
'expires': 'Mon, 24 May 2021 07:58:53 GMT',
'last-modified': 'Wed, 19 May 2021 09:20:22 GMT',
'server': 'cloudflare',
'vary': 'Accept-Encoding',
'x-content-type-options': 'nosniff',
'x-frame-options': 'DENY'},
'requestId': '17180.4',
'resourceIPAddressSpace': 'Public'}}
{'method': 'Network.resourceChangedPriority',
'params': {'newPriority': 'High',
'requestId': '17180.4',
'timestamp': 190011.171057}}
{'method': 'Network.responseReceived',
'params': {'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'loaderId': '449906A5C736D819123288133F2797E6',
'requestId': '17180.3',
'response': {'connectionId': 0,
'connectionReused': False,
'encodedDataLength': 214,
'fromDiskCache': False,
'fromPrefetchCache': False,
'fromServiceWorker': False,
'headers': {'accept-ranges': 'bytes',
'cache-control': 'max-age=7200\npublic',
'cf-ray': '65444b781d1de604-LHR',
'content-length': '42',
'content-type': 'image/gif',
'date': 'Mon, 24 May 2021 05:58:53 GMT',
'etag': '"60a4d856-2a"',
'expires': 'Mon, 24 May 2021 07:58:53 GMT',
'last-modified': 'Wed, 19 May 2021 '
'09:20:22 GMT',
'server': 'cloudflare',
'vary': 'Accept-Encoding',
'x-content-type-options': 'nosniff',
'x-frame-options': 'DENY'},
'mimeType': 'image/gif',
'protocol': 'h3-29',
'remoteIPAddress': '104.21.5.197',
'remotePort': 443,
'requestHeaders': {':authority': 'nowsecure.nl',
':method': 'GET',
':path': '/cdn-cgi/images/trace/jschal/js/transparent.gif?ray=65444b779ae6546f',
':scheme': 'https',
'accept': 'image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8',
'accept-encoding': 'gzip, deflate, '
'br',
'accept-language': 'en-US,en;q=0.9',
'referer': 'https://nowsecure.nl/',
'sec-ch-ua': '" Not '
'A;Brand";v="99", '
'"Chromium";v="90", '
'"Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0',
'sec-fetch-dest': 'image',
'sec-fetch-mode': 'no-cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 '
'(Windows NT 10.0; '
'Win64; x64) '
'AppleWebKit/537.36 '
'(KHTML, like Gecko) '
'Chrome/90.0.4430.212 '
'Safari/537.36'},
'responseTime': 1621835932265.169,
'securityDetails': {'certificateId': 0,
'certificateTransparencyCompliance': 'compliant',
'cipher': 'AES_128_GCM',
'issuer': 'Cloudflare Inc ECC '
'CA-3',
'keyExchange': '',
'keyExchangeGroup': 'X25519',
'protocol': 'QUIC',
'sanList': ['sni.cloudflaressl.com',
'*.nowsecure.nl',
'nowsecure.nl'],
'signedCertificateTimestampList': [{'hashAlgorithm': 'SHA-256',
'logDescription': 'Google '
"'Argon2021' "
'log',
'logId': 'F65C942FD1773022145418083094568EE34D131933BFDF0C2F200BCC4EF164E3',
'origin': 'Embedded '
'in '
'certificate',
'signatureAlgorithm': 'ECDSA',
'signatureData': '30450221008A25458182A6E7F608FE1492086762A367381E94137952FFD621BA2E60F7E2F702203BCDEBCE1C544DECF0A113DE12B33E299319E6240426F38F08DFC04EF2E42825',
'status': 'Verified',
'timestamp': 1598706372839.0},
{'hashAlgorithm': 'SHA-256',
'logDescription': 'DigiCert '
'Yeti2021 '
'Log',
'logId': '5CDC4392FEE6AB4544B15E9AD456E61037FBD5FA47DCA17394B25EE6F6C70ECA',
'origin': 'Embedded '
'in '
'certificate',
'signatureAlgorithm': 'ECDSA',
'signatureData': '3046022100A95A49C7435DBFC73406AC409062C27269E6E69F443A2213F3A085E3BCBD234A022100DEA878296F8A1DB43546DC1865A4C5AD2B90664A243AE0A3A6D4925802EE68A8',
'status': 'Verified',
'timestamp': 1598706372823.0}],
'subjectName': 'sni.cloudflaressl.com',
'validFrom': 1598659200,
'validTo': 1630238400},
'securityState': 'secure',
'status': 200,
'statusText': '',
'timing': {'connectEnd': 26.087,
'connectStart': 0,
'dnsEnd': 0,
'dnsStart': 0,
'proxyEnd': -1,
'proxyStart': -1,
'pushEnd': 0,
'pushStart': 0,
'receiveHeadersEnd': 40.709,
'requestTime': 190011.109386,
'sendEnd': 26.346,
'sendStart': 26.182,
'sslEnd': 26.087,
'sslStart': 0,
'workerFetchStart': -1,
'workerReady': -1,
'workerRespondWithSettled': -1,
'workerStart': -1},
'url': 'https://nowsecure.nl/cdn-cgi/images/trace/jschal/js/transparent.gif?ray=65444b779ae6546f'},
'timestamp': 190011.174536,
'type': 'Image'}}
{'method': 'Network.dataReceived',
'params': {'dataLength': 42,
'encodedDataLength': 0,
'requestId': '17180.3',
'timestamp': 190011.174737}}
{'method': 'Network.dataReceived',
'params': {'dataLength': 0,
'encodedDataLength': 44,
'requestId': '17180.3',
'timestamp': 190011.17524}}
{'method': 'Network.loadingFinished',
'params': {'encodedDataLength': 258,
'requestId': '17180.3',
'shouldReportCorbBlocking': False,
'timestamp': 190011.152073}}
{'method': 'Network.responseReceived',
'params': {'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'loaderId': '449906A5C736D819123288133F2797E6',
'requestId': '17180.4',
'response': {'connectionId': 0,
'connectionReused': True,
'encodedDataLength': 178,
'fromDiskCache': False,
'fromPrefetchCache': False,
'fromServiceWorker': False,
'headers': {'accept-ranges': 'bytes',
'cache-control': 'max-age=7200\npublic',
'cf-ray': '65444b781d1fe604-LHR',
'content-length': '42',
'content-type': 'image/gif',
'date': 'Mon, 24 May 2021 05:58:53 GMT',
'etag': '"60a4d856-2a"',
'expires': 'Mon, 24 May 2021 07:58:53 GMT',
'last-modified': 'Wed, 19 May 2021 '
'09:20:22 GMT',
'server': 'cloudflare',
'vary': 'Accept-Encoding',
'x-content-type-options': 'nosniff',
'x-frame-options': 'DENY'},
'mimeType': 'image/gif',
'protocol': 'h3-29',
'remoteIPAddress': '104.21.5.197',
'remotePort': 443,
'requestHeaders': {':authority': 'nowsecure.nl',
':method': 'GET',
':path': '/cdn-cgi/images/trace/jschal/nojs/transparent.gif?ray=65444b779ae6546f',
':scheme': 'https',
'accept': 'image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8',
'accept-encoding': 'gzip, deflate, '
'br',
'accept-language': 'en-US,en;q=0.9',
'referer': 'https://nowsecure.nl/',
'sec-ch-ua': '" Not '
'A;Brand";v="99", '
'"Chromium";v="90", '
'"Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0',
'sec-fetch-dest': 'image',
'sec-fetch-mode': 'no-cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 '
'(Windows NT 10.0; '
'Win64; x64) '
'AppleWebKit/537.36 '
'(KHTML, like Gecko) '
'Chrome/90.0.4430.212 '
'Safari/537.36'},
'responseTime': 1621835932268.067,
'securityDetails': {'certificateId': 0,
'certificateTransparencyCompliance': 'compliant',
'cipher': 'AES_128_GCM',
'issuer': 'Cloudflare Inc ECC '
'CA-3',
'keyExchange': '',
'keyExchangeGroup': 'X25519',
'protocol': 'QUIC',
'sanList': ['sni.cloudflaressl.com',
'*.nowsecure.nl',
'nowsecure.nl'],
'signedCertificateTimestampList': [{'hashAlgorithm': 'SHA-256',
'logDescription': 'Google '
"'Argon2021' "
'log',
'logId': 'F65C942FD1773022145418083094568EE34D131933BFDF0C2F200BCC4EF164E3',
'origin': 'Embedded '
'in '
'certificate',
'signatureAlgorithm': 'ECDSA',
'signatureData': '30450221008A25458182A6E7F608FE1492086762A367381E94137952FFD621BA2E60F7E2F702203BCDEBCE1C544DECF0A113DE12B33E299319E6240426F38F08DFC04EF2E42825',
'status': 'Verified',
'timestamp': 1598706372839.0},
{'hashAlgorithm': 'SHA-256',
'logDescription': 'DigiCert '
'Yeti2021 '
'Log',
'logId': '5CDC4392FEE6AB4544B15E9AD456E61037FBD5FA47DCA17394B25EE6F6C70ECA',
'origin': 'Embedded '
'in '
'certificate',
'signatureAlgorithm': 'ECDSA',
'signatureData': '3046022100A95A49C7435DBFC73406AC409062C27269E6E69F443A2213F3A085E3BCBD234A022100DEA878296F8A1DB43546DC1865A4C5AD2B90664A243AE0A3A6D4925802EE68A8',
'status': 'Verified',
'timestamp': 1598706372823.0}],
'subjectName': 'sni.cloudflaressl.com',
'validFrom': 1598659200,
'validTo': 1630238400},
'securityState': 'secure',
'status': 200,
'statusText': '',
'timing': {'connectEnd': -1,
'connectStart': -1,
'dnsEnd': -1,
'dnsStart': -1,
'proxyEnd': -1,
'proxyStart': -1,
'pushEnd': 0,
'pushStart': 0,
'receiveHeadersEnd': 42.415,
'requestTime': 190011.110341,
'sendEnd': 25.713,
'sendStart': 25.609,
'sslEnd': -1,
'sslStart': -1,
'workerFetchStart': -1,
'workerReady': -1,
'workerRespondWithSettled': -1,
'workerStart': -1},
'url': 'https://nowsecure.nl/cdn-cgi/images/trace/jschal/nojs/transparent.gif?ray=65444b779ae6546f'},
'timestamp': 190011.175727,
'type': 'Image'}}
{'method': 'Network.dataReceived',
'params': {'dataLength': 42,
'encodedDataLength': 0,
'requestId': '17180.4',
'timestamp': 190011.175856}}
{'method': 'Network.dataReceived',
'params': {'dataLength': 0,
'encodedDataLength': 44,
'requestId': '17180.4',
'timestamp': 190011.176133}}
{'method': 'Network.loadingFinished',
'params': {'encodedDataLength': 222,
'requestId': '17180.4',
'shouldReportCorbBlocking': False,
'timestamp': 190011.153335}}
{'method': 'Network.responseReceivedExtraInfo',
'params': {'blockedCookies': [],
'headers': {'alt-svc': 'h3-27=":443"; ma=86400, h3-28=":443"; '
'ma=86400, h3-29=":443"; ma=86400',
'cache-control': 'max-age=0, must-revalidate',
'cf-ray': '65444b781d1ee604-LHR',
'cf-request-id': '0a3e8d7f140000e60496387000000001',
'content-encoding': 'br',
'content-type': 'text/javascript',
'date': 'Mon, 24 May 2021 05:58:53 GMT',
'expect-ct': 'max-age=604800, '
'report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"',
'nel': '{"report_to":"cf-nel","max_age":604800}',
'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report?s=ZtI%2Bx8B7DpI8%2FsDA72maecFVCPvIsfBOyJjT8weyiqfmrHrmcBYpRhc%2FI%2F6JmIlnxW%2F%2BBohxLi1F8mpjAUabJ0kXLYnmjGKp2Ndio9M%3D"}],"group":"cf-nel","max_age":604800}',
'server': 'cloudflare',
'vary': 'Accept-Encoding'},
'requestId': '17180.2',
'resourceIPAddressSpace': 'Public'}}
{'method': 'Network.responseReceived',
'params': {'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'loaderId': '449906A5C736D819123288133F2797E6',
'requestId': '17180.2',
'response': {'connectionId': 0,
'connectionReused': True,
'encodedDataLength': 510,
'fromDiskCache': False,
'fromPrefetchCache': False,
'fromServiceWorker': False,
'headers': {'alt-svc': 'h3-27=":443"; ma=86400, '
'h3-28=":443"; ma=86400, '
'h3-29=":443"; ma=86400',
'cache-control': 'max-age=0, '
'must-revalidate',
'cf-ray': '65444b781d1ee604-LHR',
'cf-request-id': '0a3e8d7f140000e60496387000000001',
'content-encoding': 'br',
'content-type': 'text/javascript',
'date': 'Mon, 24 May 2021 05:58:53 GMT',
'expect-ct': 'max-age=604800, '
'report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"',
'nel': '{"report_to":"cf-nel","max_age":604800}',
'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report?s=ZtI%2Bx8B7DpI8%2FsDA72maecFVCPvIsfBOyJjT8weyiqfmrHrmcBYpRhc%2FI%2F6JmIlnxW%2F%2BBohxLi1F8mpjAUabJ0kXLYnmjGKp2Ndio9M%3D"}],"group":"cf-nel","max_age":604800}',
'server': 'cloudflare',
'vary': 'Accept-Encoding'},
'mimeType': 'text/javascript',
'protocol': 'h3-29',
'remoteIPAddress': '104.21.5.197',
'remotePort': 443,
'requestHeaders': {':authority': 'nowsecure.nl',
':method': 'GET',
':path': '/cdn-cgi/challenge-platform/h/b/orchestrate/jsch/v1?ray=65444b779ae6546f',
':scheme': 'https',
'accept': '*/*',
'accept-encoding': 'gzip, deflate, '
'br',
'accept-language': 'en-US,en;q=0.9',
'referer': 'https://nowsecure.nl/',
'sec-ch-ua': '" Not '
'A;Brand";v="99", '
'"Chromium";v="90", '
'"Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0',
'sec-fetch-dest': 'script',
'sec-fetch-mode': 'no-cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 '
'(Windows NT 10.0; '
'Win64; x64) '
'AppleWebKit/537.36 '
'(KHTML, like Gecko) '
'Chrome/90.0.4430.212 '
'Safari/537.36'},
'responseTime': 1621835932301.817,
'securityDetails': {'certificateId': 0,
'certificateTransparencyCompliance': 'compliant',
'cipher': 'AES_128_GCM',
'issuer': 'Cloudflare Inc ECC '
'CA-3',
'keyExchange': '',
'keyExchangeGroup': 'X25519',
'protocol': 'QUIC',
'sanList': ['sni.cloudflaressl.com',
'*.nowsecure.nl',
'nowsecure.nl'],
'signedCertificateTimestampList': [{'hashAlgorithm': 'SHA-256',
'logDescription': 'Google '
"'Argon2021' "
'log',
'logId': 'F65C942FD1773022145418083094568EE34D131933BFDF0C2F200BCC4EF164E3',
'origin': 'Embedded '
'in '
'certificate',
'signatureAlgorithm': 'ECDSA',
'signatureData': '30450221008A25458182A6E7F608FE1492086762A367381E94137952FFD621BA2E60F7E2F702203BCDEBCE1C544DECF0A113DE12B33E299319E6240426F38F08DFC04EF2E42825',
'status': 'Verified',
'timestamp': 1598706372839.0},
{'hashAlgorithm': 'SHA-256',
'logDescription': 'DigiCert '
'Yeti2021 '
'Log',
'logId': '5CDC4392FEE6AB4544B15E9AD456E61037FBD5FA47DCA17394B25EE6F6C70ECA',
'origin': 'Embedded '
'in '
'certificate',
'signatureAlgorithm': 'ECDSA',
'signatureData': '3046022100A95A49C7435DBFC73406AC409062C27269E6E69F443A2213F3A085E3BCBD234A022100DEA878296F8A1DB43546DC1865A4C5AD2B90664A243AE0A3A6D4925802EE68A8',
'status': 'Verified',
'timestamp': 1598706372823.0}],
'subjectName': 'sni.cloudflaressl.com',
'validFrom': 1598659200,
'validTo': 1630238400},
'securityState': 'secure',
'status': 200,
'statusText': '',
'timing': {'connectEnd': -1,
'connectStart': -1,
'dnsEnd': -1,
'dnsStart': -1,
'proxyEnd': -1,
'proxyStart': -1,
'pushEnd': 0,
'pushStart': 0,
'receiveHeadersEnd': 78.885,
'requestTime': 190011.107975,
'sendEnd': 27.934,
'sendStart': 27.809,
'sslEnd': -1,
'sslStart': -1,
'workerFetchStart': -1,
'workerReady': -1,
'workerRespondWithSettled': -1,
'workerStart': -1},
'url': 'https://nowsecure.nl/cdn-cgi/challenge-platform/h/b/orchestrate/jsch/v1?ray=65444b779ae6546f'},
'timestamp': 190011.188468,
'type': 'Script'}}
{'method': 'Network.dataReceived',
'params': {'dataLength': 31556,
'encodedDataLength': 0,
'requestId': '17180.2',
'timestamp': 190011.188663}}
{'method': 'Network.dataReceived',
'params': {'dataLength': 6737,
'encodedDataLength': 11251,
'requestId': '17180.2',
'timestamp': 190011.198249}}
{'method': 'Network.dataReceived',
'params': {'dataLength': 0,
'encodedDataLength': 2049,
'requestId': '17180.2',
'timestamp': 190011.200943}}
{'method': 'Network.loadingFinished',
'params': {'encodedDataLength': 13810,
'requestId': '17180.2',
'shouldReportCorbBlocking': False,
'timestamp': 190011.198142}}
{'method': 'Page.loadEventFired', 'params': {'timestamp': 190011.204711}}
{'method': 'Page.frameScheduledNavigation',
'params': {'delay': 12,
'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'reason': 'metaTagRefresh',
'url': 'https://nowsecure.nl/'}}
{'method': 'Page.frameStoppedLoading',
'params': {'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700'}}
{'method': 'Network.requestWillBeSent',
'params': {'documentURL': 'https://nowsecure.nl/',
'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'hasUserGesture': False,
'initiator': {'type': 'other'},
'loaderId': '449906A5C736D819123288133F2797E6',
'request': {'headers': {'Referer': 'https://nowsecure.nl/',
'User-Agent': 'Mozilla/5.0 (Windows NT '
'10.0; Win64; x64) '
'AppleWebKit/537.36 (KHTML, '
'like Gecko) '
'Chrome/90.0.4430.212 '
'Safari/537.36',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0'},
'initialPriority': 'High',
'method': 'GET',
'mixedContentType': 'none',
'referrerPolicy': 'strict-origin-when-cross-origin',
'url': 'https://nowsecure.nl/favicon.ico'},
'requestId': '17180.5',
'timestamp': 190011.210491,
'type': 'Other',
'wallTime': 1621835932.325683}}
{'method': 'Network.requestWillBeSentExtraInfo',
'params': {'associatedCookies': [{'blockedReasons': [],
'cookie': {'domain': 'nowsecure.nl',
'expires': 1621839532,
'httpOnly': False,
'name': 'cf_chl_prog',
'path': '/',
'priority': 'Medium',
'sameParty': False,
'secure': False,
'session': False,
'size': 12,
'sourcePort': 443,
'sourceScheme': 'Secure',
'value': 'e'}}],
'clientSecurityState': {'initiatorIPAddressSpace': 'Public',
'initiatorIsSecureContext': True,
'privateNetworkRequestPolicy': 'WarnFromInsecureToMorePrivate'},
'headers': {':authority': 'nowsecure.nl',
':method': 'GET',
':path': '/favicon.ico',
':scheme': 'https',
'accept': 'image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'en-US,en;q=0.9',
'cookie': 'cf_chl_prog=e',
'referer': 'https://nowsecure.nl/',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0',
'sec-fetch-dest': 'image',
'sec-fetch-mode': 'no-cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; '
'x64) AppleWebKit/537.36 (KHTML, like '
'Gecko) Chrome/90.0.4430.212 '
'Safari/537.36'},# 바라건대 여러분이 감을 잡으셨기를 바랍니다.```
<br>
<br>
#### the easy way (v1 old stuff) ####
```python
import undetected_chromedriver as uc
driver = uc.Chrome()
driver.get( 'https://distilnetworks.com' )```
#### target specific chrome version (v1 old stuff) ####
```python
import undetected_chromedriver as uc
uc.TARGET_VERSION = 85
driver = uc.Chrome()```
#### monkeypatch mode (v1 old stuff) ####
Needs to be done before importing from selenium package
```python
import undetected_chromedriver as uc
uc.install()
from selenium.webdriver import Chrome
driver = Chrome()
driver.get( 'https://distilnetworks.com' )```
#### the customized way (v1 old stuff) ####
```python
import undetected_chromedriver as uc
# 다운로드 및 패치할 chromedriver 버전 지정
uc.TARGET_VERSION = 78
# 또는 자신만의 chromedriver 바이너리를 지정 (왜 이게 필요할지, 저는 모르겠습니다)
uc.install(
executable_path = 'c:/users/user1/chromedriver.exe' ,
)
opts = uc.ChromeOptions()
opts.add_argument( f'--proxy-server=socks5://127.0.0.1:9050' )
driver = uc.Chrome( options = opts )
driver.get( 'https://distilnetworks.com' )```
#### datadome.co example (v1 old stuff) ####
These guys have actually a powerful product, and a link to this repo, which makes me wanna test their product. Make sure you use a "clean"ip
for this one.
```python
#
# 표준 selenium Chromedriver
#
from selenium import webdriver
chrome = webdriver.Chrome()
chrome.get( 'https://datadome.co/customers-stories/toppreise-ends-web-scraping-and-content-theft-with-datadome/' )
chrome.save_screenshot( 'datadome_regular_webdriver.png' )
True # 안타깝게도 이로 인해 내 IP가 플래그 처리되었습니다
#
# 탐지되지 않는 chromedriver (headless조차도)
#
import undetected_chromedriver as uc
options = uc.ChromeOptions()
options.headless = True
options.add_argument( '--headless' )
chrome = uc.Chrome( options = options )
chrome.get( 'https://datadome.co/customers-stories/toppreise-ends-web-scraping-and-content-theft-with-datadome/' )
chrome.save_screenshot( 'datadome_undetected_webddriver.png' )```
**Check both saved screenhots [here](https://imgur.com/a/fEmqadP)**