try new proxy when error

This commit is contained in:
2022-03-26 17:18:01 +01:00
parent 6982a4d980
commit 02addff608
2 changed files with 18 additions and 4 deletions
+16 -2
View File
@@ -3,9 +3,11 @@ import random
import string import string
import threading import threading
import time import time
from typing import Union
from playwright.sync_api import sync_playwright from playwright.sync_api import sync_playwright
import params
from params import PROXY_SERVER, PROXY_PASSWORD from params import PROXY_SERVER, PROXY_PASSWORD
from pojo.ReserveResultPojo import ReserveResultPojo, PublishType from pojo.ReserveResultPojo import ReserveResultPojo, PublishType
from pojo.contact_pojo import ContactPojo from pojo.contact_pojo import ContactPojo
@@ -40,7 +42,17 @@ class CommandorPage:
# elif "firefox" in user_agent.lower(): # elif "firefox" in user_agent.lower():
# self.browser = pwright.firefox.launch(headless=False, timeout=90000, proxy=proxy) # self.browser = pwright.firefox.launch(headless=False, timeout=90000, proxy=proxy)
# else: # else:
self.start_brower(proxy, pwright, user_agent) first_page = None
while first_page is None:
first_page = self.start_brower(proxy, pwright, user_agent)
proxy_username = "panleicim-cc-fr-sid-" + get_random_id_number_for_proxy()
self.logger.info("proxy_username is " + proxy_username)
proxy = {
"server": params.PROXY_SERVER,
"username": proxy_username,
"password": params.PROXY_PASSWORD
}
self._setPhoneCountryAndStore() self._setPhoneCountryAndStore()
self._setPhoneNumber(contact.phone) self._setPhoneNumber(contact.phone)
self._setName(contact.last_name, contact.first_name) self._setName(contact.last_name, contact.first_name)
@@ -72,7 +84,7 @@ class CommandorPage:
self.reset_air_plan_mode() self.reset_air_plan_mode()
# check and send successful event # check and send successful event
def start_brower(self, proxy, pwright, user_agent): def start_brower(self, proxy, pwright, user_agent) -> Union[str, None]:
try: try:
self.browser = pwright.firefox.launch(headless=False, timeout=90000, proxy=proxy) self.browser = pwright.firefox.launch(headless=False, timeout=90000, proxy=proxy)
self.logger.info("user_agent is " + user_agent) self.logger.info("user_agent is " + user_agent)
@@ -82,8 +94,10 @@ class CommandorPage:
self.page.add_init_script("""() => Object.defineProperty(navigator,'webdriver',{get: () => undefined}""") self.page.add_init_script("""() => Object.defineProperty(navigator,'webdriver',{get: () => undefined}""")
self.page.on("load", self._on_page_loaded) self.page.on("load", self._on_page_loaded)
self.page.goto(RDV_URL, timeout=90000) self.page.goto(RDV_URL, timeout=90000)
return self.page.content()
except Exception as error: except Exception as error:
self.logger.exception(error) self.logger.exception(error)
return None
def start_page(self, proxy, contact: ContactPojo, on_ready_for_otp, on_sucess) -> threading.Event: def start_page(self, proxy, contact: ContactPojo, on_ready_for_otp, on_sucess) -> threading.Event:
e = threading.Event() e = threading.Event()
+1 -1
View File
@@ -9,7 +9,7 @@ from typing import Union
from gsmmodem import GsmModem from gsmmodem import GsmModem
import params import params
from commandor_page import CommandorPage, get_random_id_number_for_proxy from commandor_page import CommandorPage
from logs.AppLogging import init_logger from logs.AppLogging import init_logger
from modems.ModemPool import ModemPool from modems.ModemPool import ModemPool
from modems.card_pool import CardPool from modems.card_pool import CardPool