From 4c83cee9f1f1a8e6d0cc0d151d4d1776871d4946 Mon Sep 17 00:00:00 2001 From: Lei PAN Date: Mon, 17 Jun 2024 13:46:17 +0200 Subject: [PATCH] save ip address for appointment reqeusts --- models/ReserveResultPojo.py | 2 ++ models/contact_pojo.py | 2 ++ utils/address_ip.py | 21 +++++++++++++++++++++ workers/sender.py | 4 +++- 4 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 utils/address_ip.py diff --git a/models/ReserveResultPojo.py b/models/ReserveResultPojo.py index e4eb7b7..fdb0361 100755 --- a/models/ReserveResultPojo.py +++ b/models/ReserveResultPojo.py @@ -36,6 +36,7 @@ class ReserveResultPojo: validated_at = None proxy: str = None ua: str = None + current_ip: str = "" @staticmethod def from_firestore_dict(source): @@ -130,6 +131,7 @@ class ReserveResultPojo: u'accepted': self.accepted, u'url_validated': self.url_validated, u'proxy': self.proxy, + u'current_ip': self.current_ip, u'ua': self.ua, } diff --git a/models/contact_pojo.py b/models/contact_pojo.py index 494135e..fe6a77f 100755 --- a/models/contact_pojo.py +++ b/models/contact_pojo.py @@ -26,6 +26,7 @@ class ContactPojo: self.position = position self.note = "" self.ua = "" + self.current_ip = "" def to_firestore_dict(self): dest = { @@ -37,6 +38,7 @@ class ContactPojo: u'store': self.store, u'ccid': self.ccid, u'position': self.position, + u'current_ip': self.current_ip, u'ua': self.ua } diff --git a/utils/address_ip.py b/utils/address_ip.py new file mode 100644 index 0000000..776319f --- /dev/null +++ b/utils/address_ip.py @@ -0,0 +1,21 @@ +import logging + +import requests + +from proxy_manager.proxy_manager import ProxyManager + + +def get_address_ip(proxy_to_use): + response = requests.get(url="https://api.ipify.org", proxies=proxy_to_use, verify=False, + timeout=15) + print(response.status_code) + if response.status_code == 200: + return response.text + else: + return "" + + +if __name__ == '__main__': + logger = logging.getLogger() + proxy_manager = ProxyManager(logger=logger) + print(get_address_ip(proxy_manager.get_proxy_for_appointment_request())) diff --git a/workers/sender.py b/workers/sender.py index cfa3efc..9ad9ff4 100644 --- a/workers/sender.py +++ b/workers/sender.py @@ -11,7 +11,7 @@ from models.ReserveResultPojo import ReserveResultPojo, PublishType from models.jsdata_pojo import JsDataPojo from models.result_pojo import RequestResult from queue_message.CookiesPublisher import CookiesPublisher -from workers.proxies_constants import PROXY_LIST_FR +from utils.address_ip import get_address_ip class Sender: @@ -37,6 +37,7 @@ class Sender: firstName=contact.first_name, lastName=contact.last_name, email=contact.mail, passport=contact.passport, ccid=contact.ccid) result.ua = contact.ua + result.current_ip = contact.current_ip if "oxylabs" in self.proxy_to_use["http"]: if "mob" in self.proxy_to_use["http"]: result.proxy = "oxylabs_mob" @@ -95,6 +96,7 @@ class Sender: self.logger.info(response.text) self.logger.info("{}:{}".format(contact.mail, response.url)) contact.ua = js_data.ua + contact.current_ip = get_address_ip(proxy_to_use=proxy_to_use) self.publish_message_to_queue(contact, status=PublishType.SUCCESS, url=response.url, store_type=_selected_store) cookies_to_set = response.headers['set-cookie']