mirror of
				https://github.com/searxng/searxng
				synced 2024-01-01 19:24:07 +01:00 
			
		
		
		
	[fix] engine: qwant - detect captchaUrl and raise SearxEngineCaptchaException
So far a CAPTCHA was not recognized in the response of the qwant engine and a SearxEngineAPIException was raised by mistake. With this patch a CAPTCHA redirect is recognized and the correct SearxEngineCaptchaException is raised. Closes: https://github.com/searxng/searxng/issues/3806 Signed-off-by: Markus <markus@venom.fritz.box>
This commit is contained in:
		
							parent
							
								
									55e2f4a97f
								
							
						
					
					
						commit
						d3a795c7e7
					
				
					 1 changed files with 7 additions and 1 deletions
				
			
		|  | @ -49,7 +49,11 @@ from flask_babel import gettext | ||||||
| import babel | import babel | ||||||
| import lxml | import lxml | ||||||
| 
 | 
 | ||||||
| from searx.exceptions import SearxEngineAPIException, SearxEngineTooManyRequestsException | from searx.exceptions import ( | ||||||
|  |     SearxEngineAPIException, | ||||||
|  |     SearxEngineTooManyRequestsException, | ||||||
|  |     SearxEngineCaptchaException, | ||||||
|  | ) | ||||||
| from searx.network import raise_for_httperror | from searx.network import raise_for_httperror | ||||||
| from searx.enginelib.traits import EngineTraits | from searx.enginelib.traits import EngineTraits | ||||||
| 
 | 
 | ||||||
|  | @ -187,6 +191,8 @@ def parse_web_api(resp): | ||||||
|         error_code = data.get('error_code') |         error_code = data.get('error_code') | ||||||
|         if error_code == 24: |         if error_code == 24: | ||||||
|             raise SearxEngineTooManyRequestsException() |             raise SearxEngineTooManyRequestsException() | ||||||
|  |         if search_results.get("data", {}).get("error_data", {}).get("captchaUrl") is not None: | ||||||
|  |             raise SearxEngineCaptchaException() | ||||||
|         msg = ",".join(data.get('message', ['unknown'])) |         msg = ",".join(data.get('message', ['unknown'])) | ||||||
|         raise SearxEngineAPIException(f"{msg} ({error_code})") |         raise SearxEngineAPIException(f"{msg} ({error_code})") | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Markus
						Markus