@@ -401,6 +401,61 @@ def test(self, config: TestConfig) -> TestResult:
401401 )
402402
403403
404+ # =============================================================================
405+ # cloudscraper Test
406+ # =============================================================================
407+
408+ class CloudscraperTest (ModuleTest ):
409+ """Test for cloudscraper extension."""
410+
411+ name = "cloudscraper"
412+
413+ def test (self , config : TestConfig ) -> TestResult :
414+ try :
415+ from python_proxy_headers .cloudscraper_proxy import create_scraper
416+
417+ # Create scraper with optional proxy headers to send
418+ scraper = create_scraper (proxy_headers = config .proxy_headers_to_send or None )
419+ scraper .proxies = {
420+ 'http' : config .proxy_url ,
421+ 'https' : config .proxy_url
422+ }
423+
424+ # Make request
425+ response = scraper .get (config .test_url )
426+
427+ # Check for proxy header in response
428+ header_value = self ._check_header (dict (response .headers ), config .proxy_header )
429+
430+ if header_value :
431+ return TestResult (
432+ module_name = self .name ,
433+ success = True ,
434+ header_value = header_value ,
435+ response_status = response .status_code
436+ )
437+ else :
438+ return TestResult (
439+ module_name = self .name ,
440+ success = False ,
441+ error = f"Header '{ config .proxy_header } ' not found in response" ,
442+ response_status = response .status_code
443+ )
444+
445+ except ImportError as e :
446+ return TestResult (
447+ module_name = self .name ,
448+ success = False ,
449+ error = f"Import error: { e } "
450+ )
451+ except Exception as e :
452+ return TestResult (
453+ module_name = self .name ,
454+ success = False ,
455+ error = f"{ type (e ).__name__ } : { e } "
456+ )
457+
458+
404459# =============================================================================
405460# Test Registry
406461# =============================================================================
@@ -411,6 +466,7 @@ def test(self, config: TestConfig) -> TestResult:
411466 'requests' : RequestsTest ,
412467 'aiohttp' : AiohttpTest ,
413468 'httpx' : HttpxTest ,
469+ 'cloudscraper' : CloudscraperTest ,
414470}
415471
416472
0 commit comments