urllib3 ProxyManager: ສົ່ງຂໍ້ມູນ Basic ໃນ proxy_headers
ສະໜອງຂໍ້ມູນຢືນຢັນ proxy Basic ຜ່ານ ProxyManager.proxy_headers ເພື່ອໃຫ້ມີໃນລະຫວ່າງ HTTPS CONNECT ໂດຍບໍ່ກາຍເປັນ header ປາຍທາງ.
ProxyManager ມີ argument proxy_headers ແຍກຕ່າງຫາກສຳລັບ header ທີ່ສົ່ງໄປຫາຕົວກາງ. ສຳລັບ proxy ທີ່ຮັບການຢືນຢັນ Basic:
import urllib3
proxy_headers = urllib3.make_headers(
proxy_basic_auth=f'{proxy_user}:{proxy_password}'
)
with urllib3.ProxyManager(
'http://proxy.example:8080',
proxy_headers=proxy_headers,
timeout=urllib3.Timeout(connect=5, read=10),
) as http:
response = http.request('GET', 'https://service.example/data')
print(response.status)
ສຳລັບປາຍທາງ HTTP ທຳມະດາ header ເຫຼົ່ານີ້ໄປພ້ອມກັບຄຳຮ້ອງທີ່ສົ່ງຕໍ່ໄປຫາ proxy. ສຳລັບປາຍທາງ HTTPS ທີ່ໃຊ້ CONNECT ພວກມັນເປັນສ່ວນໜຶ່ງຂອງການຕັ້ງອຸໂມງ ບໍ່ແມ່ນຄຳຮ້ອງເວັບໄຊທີ່ເຂົ້າລະຫັດແຕ່ລະອັນ.
argument headers ທຳມະດາອະທິບາຍ header ຄຳຮ້ອງຂອງປາຍທາງ. ການຢືນຢັນ proxy ນີ້ເປັນຂອງຜູ້ຮັບອື່ນ. ການວາງບັນຊີ proxy ຢູ່ນັ້ນບໍ່ເທົ່າກັບການຕັ້ງຄ່າການແລກປ່ຽນ CONNECT ກ່ອນໜ້າ.
make_headers ສ້າງຄ່າ header Basic. ມັນບໍ່ເຈລະຈາ NTLM ບໍ່ເລືອກ scheme ທີ່ຮອງຮັບໂດຍອັດຕະໂນມັດ ແລະບໍ່ພິສູດວ່າ proxy ຮັບບັນຊີນັ້ນ.
proxy ທີ່ມີຕົວຟັງ TLS ເພີ່ມ context TLS ຂອງ proxy ແຍກຕ່າງຫາກ. ຈຸດສຸດທ້າຍ http:// ຂ້າງເທິງອະທິບາຍໂດຍເຈດຕະນາເຖິງຕົວຟັງ HTTP ທຳມະດາທີ່ຂົນສົ່ງປາຍທາງ HTTPS ຜ່ານອຸໂມງ.