ສຳລັບການທ້າທາຍ Basic ຈາກ HTTP proxy ໃຫ້ໃຊ້ ProxyBasicAuthHandler. ຕົວຢ່າງ HTTP ປົກກະຕິນີ້ເກັບເສັ້ນທາງແລະບັນຊີໄວ້ໃນ opener ດຽວ:

import os
from urllib.request import (
    ProxyHandler, ProxyBasicAuthHandler,
    HTTPPasswordMgrWithDefaultRealm, build_opener,
)

proxy_url = 'http://proxy.example:8080'
passwords = HTTPPasswordMgrWithDefaultRealm()
passwords.add_password(
    None, proxy_url,
    os.environ['PROXY_USER'], os.environ['PROXY_PASSWORD'],
)
opener = build_opener(
    ProxyHandler({'http': proxy_url}),
    ProxyBasicAuthHandler(passwords),
)
with opener.open('http://example.com/', timeout=10) as response:
    print(response.status)

ໃຊ້ຈຸດສິ້ນສຸດທີ່ແທ້ຈິງແລະບັນຊີທີ່ຜູ້ປະກອບການສະໜອງໃຫ້. ຕົວຈັດການນີ້ ໃຊ້ຕົວຈັດການລະຫັດຜ່ານສຳລັບການທ້າທາຍຂອງ proxy; ຈັບຄູ່ URI ແລະ realm ຂອງ proxy ທີ່ຕັ້ງໃຈ. ການຢືນຢັນ Basic ຢູ່ປາຍທາງໃຊ້ຕົວຈັດການອື່ນ.

ການເອີ້ນ opener ໂດຍກົງເຮັດໃຫ້ການຕັ້ງຄ່ານີ້ຢູ່ໃນທ້ອງຖິ່ນ. URL ຂອງຄຳຮ້ອງຍັງເປັນເວັບໄຊ ບໍ່ແມ່ນຕົວກາງ. ເສັ້ນທາງ HTTP ແບບເປີດເຜີຍນີ້ບໍ່ເຂົ້າລະຫັດການແລກປ່ຽນ Basic.

ຢ່າສະຫຼຸບຈາກຕົວຢ່າງນີ້ວ່າມີການຮອງຮັບອຸໂມງ HTTPS. 407 ລະຫວ່າງ CONNECT ເກີດຂຶ້ນຕອນຕັ້ງຄ່າ ກ່ອນການຕອບສະໜອງປົກກະຕິຈາກປາຍທາງ; ການເຊື່ອມຕໍ່ທີ່ເລືອກຕ້ອງຈັດການການຢືນຢັນຢູ່ຈຸດນັ້ນ. ການປ່ຽນຕົວຈັດການເຂົ້າສູ່ລະບົບຂອງເວັບໄຊບໍ່ສາມາດແກ້ໄຂການທ້າທາຍກ່ອນໜ້ານັ້ນໄດ້.

URL proxy ທີ່ມີຂໍ້ມູນຢືນຢັນເປັນຮູບແບບອື່ນທີ່ພົບໃນຕົວຢ່າງເກົ່າ. ຖ້າໃຊ້ ໃຫ້ເຂົ້າລະຫັດຕົວຂັ້ນ URL ຢ່າງຖືກຕ້ອງ ແລະ ເກັບ URL ທີ່ມີຄວາມລັບໄວ້ນອກບັນທຶກ.

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