সৰু urllib3 প্ৰক্সি পৰীক্ষাৰ বাবে পুনৰ চেষ্টা বন্ধ কৰি ProxyManager ব্যৱহাৰ কৰক। ইয়াৰ ফলত অচল প্ৰৱিষ্টি বাৰেবাৰে চেষ্টা কৰি সময় বঢ়োৱাৰ সলনি প্ৰথম চেষ্টাৰ ফল পোৱা যায়। uv-ৰে পৰিচালিত প্ৰকল্পত:

uv add urllib3

নথিৰ এণ্ডপইণ্টটো নিজৰ সেৱা বা HTTP প্ৰক্সিৰ তালিকাৰ HTTP প্ৰক্সিৰে সলনি কৰি সেই মেনেজাৰেৰে অনুৰোধ কৰক:

import urllib3

proxy = urllib3.ProxyManager(
    "http://203.0.113.10:8080",
    timeout=urllib3.Timeout(connect=5, read=10),
    retries=False,
)

try:
    response = proxy.request("GET", "https://example.com/")
    print(response.status)
    print(response.data.decode("utf-8", errors="replace")[:200])
finally:
    proxy.clear()

আগতে response.status পঢ়ক, তাৰ পিছত response.data চাওক। এইবোৰ urllib3-ৰ ক্ষেত্ৰ; Requests-ৰ status_code আৰু text বিকল্প নহয়। ছাইটৰ প্ৰত্যাখ্যান সচল প্ৰক্সিৰে আহিব পাৰে। সঁহাৰিৰ আগতে ব্যতিক্ৰম হ’লে অনুৰোধ সম্পূৰ্ণ হোৱা নাই বুজায়।

retries=False পৰীক্ষাৰ বাছনি, প্ৰডাকচনৰ পুনৰ চেষ্টা নীতি নহয়। সংযোগৰ 5 ছেকেণ্ড আৰু পঢ়াৰ 10 ছেকেণ্ডে নিজ নিজ ধাপ সীমিত কৰে; এইবোৰে মুঠ 15 ছেকেণ্ডৰ নিশ্চিত সময়সীমা নিদিয়ে। DNS আৰু সঁহাৰিৰ অগ্ৰগতিয়ে মুঠ অপেক্ষা সলনি কৰিব পাৰে।

উদাহৰণে বডি আগতে লোড কৰে আৰু শেষত মেনেজাৰৰ পুল খালী কৰে। একে এণ্ডপইণ্টেৰে বাৰে বাৰে অনুৰোধৰ বাবে কাম শেষলৈ মেনেজাৰ ৰাখক, যাতে সংযোগ পুনৰ ব্যৱহাৰ হয়। preload_content=False-লৈ গ’লে জীৱনচক্ৰ সলনি হয়: আহ্বানকাৰীয়ে ষ্ট্ৰীম কৰা সঁহাৰি পঢ়ি মুকলি কৰিব লাগিব।

শুনি থকা সেৱাৰ লগত মিলাকৈ মেনেজাৰ বাছক। আন ঠাইত URL থ’লেই সাধাৰণ PoolManager প্ৰক্সি-সচেতন নহয়; SOCKS-এ urllib3.contrib.socks.SOCKSProxyManager আৰু তাৰ ঐচ্ছিক নিৰ্ভৰতা ব্যৱহাৰ কৰে। ওপৰৰ কোডে HTTP ProxyManager পথ অনুসৰণ কৰে।

সম্পৰ্কিত প্ৰবন্ধ