Gunakan Kuki dan Proksi dalam Satu Pembuka urllib Python
Gabungkan ProxyHandler dan HTTPCookieProcessor pada satu pembuka urllib supaya permintaan berproksi berkaitan berkongsi balang kuki yang dimaksudkan.
Pembuka urllib boleh menyalurkan permintaan melalui proksi dan mengekalkan kuki laman web pada masa yang sama. Berinya kedua-dua pengendali:
from http.cookiejar import CookieJar
from urllib.request import (
HTTPCookieProcessor, ProxyHandler, build_opener,
)
cookies = CookieJar()
opener = build_opener(
ProxyHandler({"http": "http://proxy.example:8080"}),
HTTPCookieProcessor(cookies),
)
with opener.open("http://www.example.com/", timeout=10) as response:
body = response.read()Contoh menggunakan destinasi HTTP biasa dan laluan proksinya yang jelas. Untuk pemeriksaan laman awam yang dibenarkan tanpa pengesahan proksi, pilih calon daripada senarai proksi HTTP untuk laluan itu sambil mengekalkan balang kuki yang dimaksudkan. Gunakan semula opener untuk permintaan kemudian milik sesi laman web yang sama. Pemproses kuki mengekstrak kuki respons yang boleh diterima dan menambah yang berkenaan pada permintaan berikutnya.
Mencipta CookieJar kosong baharu sebelum setiap panggilan membuang kesinambungan itu. Simpan balang bersama sesi yang diwakilinya; gunakan balang berasingan untuk akaun atau aliran kerja yang kukinya perlu kekal berasingan.
CookieJar asas menyimpan keadaan dalam memori. Untuk ketekalan antara larian program, pilih subkelas FileCookieJar yang sesuai dan simpan atau muatkannya dengan sengaja.
Tidak perlu memasang opener global untuk susunan ini. Memanggil kaedah open objek ini memastikan proksi dan kuki kekal terikat pada operasi yang sama.