ຖ້າ session.proxies ຊີ້ໄປຈຸດປາຍໜຶ່ງ ແຕ່ສະຄຣິບໃຊ້ພຣັອກຊີຂອງ shell ການກຳນົດດິກຊັນນາຣີເດີມຊ້ຳບໍ່ແກ້ຂໍ້ຂັດແຍ່ງ. Requests ອາດລວມຄ່າພຣັອກຊີຈາກສະພາບແວດລ້ອມໂດຍໃຫ້ສູງກວ່າຄ່າຕັ້ງຕົ້ນ Session. ເລືອກວ່າ Session ຄວນຊອກຄ່າຈາກສະພາບແວດລ້ອມຕໍ່ຫຼືບໍ່.

ຮັກສາການຄົ້ນຫາສະພາບແວດລ້ອມ ໃຫ້ທາງໃນຄຳຂໍ

ສົ່ງຄ່າຢ່າງຊັດເຈນໃຫ້ການເອີ້ນແຕ່ລະຄັ້ງ ຕາມ Requests ແນະນຳເພື່ອເລີ່ຍງຂໍ້ຂັດແຍ່ງ Session/ສະພາບແວດລ້ອມ:

proxies = {
    "http": "http://127.0.0.1:8080",
    "https": "http://127.0.0.1:8080",
}

with requests.Session() as session:
    response = session.get(
        "https://example.com/",
        proxies=proxies,
        timeout=(5, 15),
    )
    response.raise_for_status()

ປ່ຽນຕົວຮັບຟັງໃນເຄື່ອງເປັນຂອງທ່ານ. ຖ້າປຽບທຽບຈຸດ HTTP ສາທາລະນະ ເລືອກຈາກລາຍການພຣັອກຊີ HTTP ໂດຍຄົງນະໂຍບາຍ Session. ນີ້ຄວບຄຸມລາຍການໃນແມັບທີ່ໃຫ້; ຈົ່ງເລືອກໂດຍຕັ້ງໃຈສຳລັບສະຄີມຫຼືໂຮສອື່ນທີ່ແອັບໃຊ້. ບໍລິການ IDE ຄອນເທນເນີ ຫຼື CI runner ອາດຮັບສະພາບແວດລ້ອມຕ່າງຈາກເທີມິນັລ.

ໃຫ້ Session ຄວບຄຸມຄ່າຂອງຕົນ

ຖ້າແອັບບໍ່ຄວນຊອກພຣັອກຊີຈາກສະພາບແວດລ້ອມ ກຳນົດນະໂຍບາຍກ່ອນຄຳຂໍທຳອິດ:

with requests.Session() as session:
    session.trust_env = False
    session.proxies = {
        "http": "http://127.0.0.1:8080",
        "https": "http://127.0.0.1:8080",
    }
    response = session.get(
        "https://example.com/",
        timeout=(5, 15),
    )
    response.raise_for_status()

trust_env=False ຍັງກະທົບຄ່າໃບຮັບຮອງທີ່ກ່ຽວກັບສະພາບແວດລ້ອມ ແລະການຢືນຢັນ netrc ອັດຕະໂນມັດ. ພິຈາລະນາການພຶ່ງພາເຫຼົ່ານີ້ກ່ອນເລືອກ. ສຳລັບຊຸດ CA ສ່ວນຕົວທີ່ອະນຸມັດ ສາມາດໃຫ້ພາທຢ່າງຊັດເຈນ:

response = session.get(
    "https://example.com/",
    timeout=(5, 15),
    verify="/path/to/approved-ca-bundle.pem",
)

ໃຊ້ຊຸດທີ່ອະນຸມັດແທ້ ແລະເປີດການກວດສອບໄວ້. ແຍກ Session ຕາມນະໂຍບາຍທາງ ແທນການແກ້ອັນດຽວຂະນະວຽກອື່ນໃຊ້.

ຖ້າທັງສອງວິທີບໍ່ອະທິບາຍທາງແອັບ ໃຫ້ປຽບທຽບ Session ແຍກດ່ຽວກັບແອັບໃນສະພາບແວດລ້ອມຮັນແລະປາຍທາງທີ່ບໍ່ອັນຕະລາຍດຽວກັນ. ບັນທຶກຕົວແປພຣັອກຊີທີ່ມີ ຄ່າ trust_env ແລະການເອີ້ນສົ່ງ proxies ຫຼືບໍ່; ຢ່າເກັບ URL ມີຂໍ້ມູນເຂົ້າລະບົບໃນບັນທຶກແບ່ງປັນ. ສຳເລັດແບບແຍກດ່ຽວຊີ້ການກວດຕໍ່ໄປທີ່ການສ້າງ Session ອະແດັບເຕີ ຂັ້ນຕອນຄຳຂໍທີ່ກຽມໄວ້ ຫຼືຊັ້ນຂົນສົ່ງກຳນົດເອງ. ທົດສອບສະພາບແວດລ້ອມດ້ວຍ curl ບໍ່ຕັດສິນພຶດຕິກຳລວມຄ່າຂອງ Requests ເອງ.

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ