Anorov / cloudflare-scrape

A Python module to bypass Cloudflare's anti-bot page.
MIT License
3.33k stars 455 forks source link

Issues with urllib3 #465

Open sberniz opened 5 months ago

sberniz commented 5 months ago

Before creating an issue, first upgrade cfscrape with pip install -U cfscrape and see if you're still experiencing the problem. Please also confirm your Node version (node --version or nodejs --version) is version 10 or higher.

Make sure the website you're having issues with is actually using anti-bot protection by Cloudflare and not a competitor like Imperva Incapsula or Sucuri. And if you're using an anonymizing proxy, a VPN, or Tor, Cloudflare often flags those IPs and may block you or present you with a captcha as a result.

Please confirm the following statements and check the boxes before creating an issue:

Python version number

Run python --version and paste the output below:

Python 3.8.10


## cfscrape version number

Run `pip show cfscrape` and paste the output below:

Name: cfscrape
Version: 2.1.1
Summary: A simple Python module to bypass Cloudflare's anti-bot page. See https:
//github.com/Anorov/cloudflare-scrape for more information.
Home-page: https://github.com/Anorov/cloudflare-scrape
Author: Anorov
Author-email: anorov.vorona@gmail.com
License: UNKNOWN
Location: c:\python385\lib\site-packages
Requires: requests
Required-by:

Code snippet involved with the issue

import cfscrape```

## Complete exception and traceback
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python385\lib\site-packages\cfscrape\__init__.py", line 19, in <modul
e>
    from urllib3.util.ssl_ import create_urllib3_context, DEFAULT_CIPHERS
ImportError: cannot import name 'DEFAULT_CIPHERS' from 'urllib3.util.ssl_' (C:\P
ython385\lib\site-packages\urllib3\util\ssl_.py)
>>>
(*If the problem doesn't involve an exception being raised, leave this blank*)


## URL of the Cloudflare-protected page

[LINK GOES HERE]

## URL of Pastebin/Gist with HTML source of protected page

[LINK GOES HERE]
lucas-bremond commented 5 months ago

Fix in this PR: https://github.com/Anorov/cloudflare-scrape/pull/463

@Anorov What would be the steps to merge this?

hamzarana07 commented 3 months ago

Edit cfscrape/__init__.py:

Remove: from urllib3.util.ssl_ import create_urllib3_context, DEFAULT_CIPHERS

Add:

from urllib3.util.ssl_ import create_urllib3_context

try:
    from urllib3.util.ssl_ import DEFAULT_CIPHERS
except ImportError:
    # Defer to system configuration starting with
    # urllib3 2.0. This will choose the ciphers provided by
    # Openssl 1.1.1+ or secure system defaults.
    DEFAULT_CIPHERS = (
        'ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+HIGH:'
        'DH+HIGH:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+HIGH:RSA+3DES:!aNULL:'
        '!eNULL:!MD5')