9
9
RECAPTCHAV2_ENTERPRISE_TYPE = "RecaptchaV2EnterpriseTaskProxyless"
10
10
RECAPTCHAV3_PROXYLESS_TYPE = "RecaptchaV3TaskProxyless"
11
11
RECAPTCHAV3_TYPE = "RecaptchaV3Task"
12
- RECAPTCHA_MOBILE_TYPE = "RecaptchaMobileProxyless"
12
+ RECAPTCHA_MOBILE_PROXYLESS_TYPE = "ReCaptchaMobileTaskProxyLess"
13
+ RECAPTCHA_MOBILE_TYPE = "ReCaptchaMobileTask"
13
14
HCAPTCHA_TYPE = "HCaptchaTask"
14
15
HCAPTCHA_PROXYLESS_TYPE = "HCaptchaTaskProxyless"
15
16
HCAPTCHA_ENTERPRISE_TYPE = "HCaptchaEnterpriseTask"
@@ -174,7 +175,9 @@ def recaptchav3(self, website_url: str, website_key: str, page_action: str = "",
174
175
task ["proxyPassword" ] = proxy_password
175
176
return self .api ._send (task )
176
177
177
- def recaptcha_mobile (self , app_key : str , app_package_name : str = "" , app_action : str = "" ) -> dict :
178
+ def recaptcha_mobile (self , app_key : str , app_package_name : str = "" , app_action : str = "" , proxy_type : str = "" ,
179
+ proxy_address : str = "" , proxy_port : int = 0 , proxy_login : str = "" ,
180
+ proxy_password : str = "" ) -> dict :
178
181
"""
179
182
Solve Mobile reCAPTCHA challenge.
180
183
@@ -184,11 +187,18 @@ def recaptcha_mobile(self, app_key: str, app_package_name: str = "", app_action:
184
187
:return: A dictionary containing the solution of the Mobile reCAPTCHA.
185
188
"""
186
189
task = {
187
- "type" : RECAPTCHA_MOBILE_TYPE ,
190
+ "type" : RECAPTCHA_MOBILE_PROXYLESS_TYPE ,
188
191
"appKey" : app_key ,
189
192
"appPackageName" : app_package_name ,
190
193
"appAction" : app_action ,
191
194
}
195
+ if proxy_address != "" :
196
+ task ["type" ] = RECAPTCHA_MOBILE_TYPE
197
+ task ["proxyType" ] = proxy_type
198
+ task ["proxyAddress" ] = proxy_address
199
+ task ["proxyPort" ] = proxy_port
200
+ task ["proxyLogin" ] = proxy_login
201
+ task ["proxyPassword" ] = proxy_password
192
202
return self .api ._send (task )
193
203
194
204
def hcaptcha (self , website_url : str , website_key : str , is_invisible : bool = False , enterprise_payload : dict = {},
0 commit comments