ඉල්ලීම 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 යොදන විට ඒකාබද්ධ කිරීම එම ප්‍රතිපත්තියට ගරු කරයි; පරිසරය හිතාමතා නවතා ඇති ක්ලයන්ට් එකට සැකසුම් බලෙන් නොදමයි.

අදාළ ලිපි