Merhaba arkadaşlar bir api üzerinden online işeri takip edip kabul ediyorum , ama yavaş kalıyorum proxy ekleyip bunu hızlandırmak istiyorum yardımcı olabilecekler wp: 05050303985
kod aşağıdaki gibidir..
import time
import json
import certifi
import cloudscraper
import sys
BOOKING_URL = "Api1"
ACCEPT_URL = "Api2"
LOGIN_HASH = "TOKEN1"
ACCEPT_LOGIN_HASH = "tOKEN2"
VEHICLE_ID = "36980"
scraper = cloudscraper.create_scraper()
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer TOKEN",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36"
}
previous_hashes = set()
MAX_RETRIES = 5
RETRY_DELAY = 2
success_count = 0
def send_booking_request():
global success_count
while True:
time.sleep(0.5) # 200ms bekle
for attempt in range(MAX_RETRIES):
try:
payload = {"login_hash": LOGIN_HASH}
response = scraper.post(BOOKING_URL, headers=headers, json=payload, verify=certifi.where())
if response.status_code == 200:
success_count += 1
sys.stdout.write(f"\r Başarılı istek sayısı: ({success_count})")
sys.stdout.flush()
check_new_bookings(response)
break
else:
print(f"\nHata: {response.status_code} - {response.text}")
time.sleep(RETRY_DELAY * (2 ** attempt)) # Exponential backoff
except Exception as e:
print(f"\n⚠Bağlantı hatası: {e}, tekrar deneniyor...")
time.sleep(RETRY_DELAY * (2 ** attempt)) # Exponential backoff
else:
print("\n Maksimum deneme sayısına ulaşıldı! Tekrar deneniyor...")
continue
def check_new_bookings(response):
try:
current_data = response.json().get("data", {}).get("bookings", [])
except json.JSONDecodeError as e:
print(f"\nJSON dönüşüm hatası: {e}. Yanıt içeriği: {response.text}")
return
for booking in current_data:
booking_hash = booking["booking_hash_link"]
if booking_hash not in previous_hashes:
print(f"\n🚀 **Yeni Rezervasyon Algılandı!** {booking_hash}")
accept_payload = {
"login_hash": ACCEPT_LOGIN_HASH,
"booking_hash": booking_hash,
"vehicle_id": VEHICLE_ID,
"refuse": "accept"
}
for attempt in range(MAX_RETRIES):
try:
accept_response = scraper.post(ACCEPT_URL, headers=headers, json=accept_payload, verify=certifi.where())
if accept_response.status_code == 200:
print(f"\nRezervasyon kabul edildi! {booking_hash}")
previous_hashes.add(booking_hash)
break
else:
print(f"\n Rezervasyon kabul hatası: {accept_response.status_code} - {accept_response.text}")
time.sleep(RETRY_DELAY * (2 ** attempt)) # Exponential backoff
except Exception as e:
print(f"\n Bağlantı hatası (Rezervasyon kabulü): {e}, tekrar deneniyor...")
time.sleep(RETRY_DELAY * (2 ** attempt)) # Exponential backoff
else:
print(f"\n Maksimum deneme sayısına ulaşıldı! {booking_hash} rezervasyonu atlandı.")
send_booking_request()