Requests PreparedRequest আৰু নোহোৱা পৰিৱেশ ছেটিং
প্ৰতিটো নিম্নস্তৰৰ send-এ প্ৰক্সি উপেক্ষা কৰে বুলি নধৰি, নিজৰ সাজু অনুৰোধক Requests-ৰ সাধাৰণ প্ৰক্সি আৰু CA ব্যৱস্থাৰ লগত মিলাই ৰাখক।
অনুৰোধ session.get()-ৰে চলিও PreparedRequest হিচাপে পুনৰ লিখাৰ পিছত প্ৰমাণপত্ৰ পৰীক্ষাত বিফল হ’ব পাৰে। নিম্নস্তৰৰ send পথে সাধাৰণ request পদ্ধতিৰ একে পৰিৱেশ মাৰ্জ নকৰে।
import requests
with requests.Session() as session:
request = requests.Request("GET", "https://example.com/")
prepared = session.prepare_request(request)
settings = session.merge_environment_settings(
prepared.url, {}, None, None, None
)
response = session.send(
prepared,
timeout=(5, 15),
**settings,
)
response.raise_for_status()
print(response.status_code)
বিচৰা URL সলনিৰ পিছত শেষৰ সাজু URL-ৰে মাৰ্জ কৰক। প্ৰক্সি আৰু বাইপাছ সিদ্ধান্ত গন্তব্যৰ ওপৰত নিৰ্ভৰ কৰে, সেয়ে আগৰ URL-ৰ ছেটিং আচল অনুৰোধৰ বাবে ভুল হ’ব পাৰে।
CA ছেটিং সহজে এৰি যায়
সাধাৰণ পৰিৱেশ-বিশ্বাস সক্ৰিয় থাকিলে আৰু পৰীক্ষা স্পষ্টভাৱে অভাৰৰাইড নকৰিলে মাৰ্জে REQUESTS_CA_BUNDLE আৰু বিকল্প CURL_CA_BUNDLE বিবেচনা কৰে। ডিফল্ট verify-ৰে পোনে send কৰিলে এই CA বিচাৰ নকৰে। পৰীক্ষা বন্ধ কৰিলে উদ্দেশ্য কৰা প্ৰমাণপত্ৰ ভঁৰাল দিয়াৰ সলনি পাৰ্থক্য লুকুৱায়।
Session.prepare_request()-এ ছেছনৰ প্ৰস্তুতি আচৰণো প্ৰয়োগ কৰে। পোনে Request.prepare()-ৰে অনুৰোধ বনোৱা পৃথক বাছনি; ছেছন কুকি বা আন প্ৰস্তুতি নিজে প্ৰয়োগ হ’ব বুলি নাভাবিব।
প্ৰক্সিৰ অধিক নিৰ্দিষ্ট নিয়ম আছে
প্ৰতিটো PreparedRequest-এ প্ৰক্সি পৰিৱেশ চলক উপেক্ষা কৰে বুলি কোৱা ভুল। Requests 2.34.2-ত proxies নামৰ আৰ্গুমেণ্ট নাথাকিলে send-এ ডিফল্ট প্ৰক্সি বিচাৰে। send-ক proxies={} দিলে সেই নিৰ্দিষ্ট ডিফল্ট বিচাৰ শাখা এৰি যায়।
merge_environment_settings-ক দিয়া খালী ডিকচনেৰীৰ ভূমিকা বেলেগ: send-লৈ দিয়াৰ আগতে মাৰ্জে তাক প্ৰযোজ্য পৰিৱেশ পথেৰে ভৰাব পাৰে। দুটা কোডত কেৱল খালী ডিকচনেৰী চালে গ্ৰহণ কৰা পৃথক পদ্ধতি বাদ পৰে।
নিজৰ অনুৰোধ গঢ়া কোডত প্ৰস্তুতি, পৰিৱেশ মাৰ্জ আৰু প্ৰেৰণ একেলগে ৰাখক। এপে ইচ্ছাকৃতভাৱে trust_env=False ব্যৱহাৰ কৰিলে মাৰ্জে সেই নীতি মানে; পৰিৱেশ জানি-বুজি বন্ধ কৰা ক্লায়েণ্টত ছেটিং জোৰ নকৰে।