Requests-HTML 0.10.0: cấu hình proxy Chromium cho render()
Cấu hình đối số khởi chạy Chromium cùng với Requests khi một trang Requests-HTML cũ thành công trước render() và thất bại sau đó.
Trong Requests-HTML 0.10.0, session.get() dùng Requests, còn response.html.render() khởi động Pyppeteer và thường điều hướng Chromium đến URL của trang một lần nữa. Phản hồi đầu tiên thành công không thiết lập tuyến đường của trình duyệt.
Đối với môi trường cũ tương thích hiện có dùng proxy HTTP không cần xác thực:
from requests_html import HTMLSession
proxy_url = 'http://proxy.example:8080'
session = HTMLSession(browser_args=[
'--proxy-server=' + proxy_url,
])
try:
response = session.get(
'https://www.example.org/',
proxies={'https': proxy_url},
timeout=20,
)
response.html.render(timeout=20)
rendered = response.html.html
finally:
session.close()
Trong ví dụ trang công khai, danh sách proxy HTTP cung cấp các ứng viên cho proxy_url. browser_args là đầu vào hàm khởi tạo công khai của phiên. Từ điển proxies của Requests không điền các đối số Chromium đó.
Cách viết socks5h:// của Requests cũng không thể sao chép thẳng vào Chromium. Chromium chấp nhận socks5://, phân giải tên đích SOCKS5 qua proxy và không hỗ trợ xác thực SOCKS5 bằng tên người dùng/mật khẩu.
render(reload=False) cung cấp HTML hiện có cho trình duyệt thay vì điều hướng đến URL của trang. Script và tài nguyên con vẫn có thể gửi yêu cầu. Nó hữu ích khi cố ý hiển thị phản hồi đó, nhưng không biến kết nối Requests thành phương tiện truyền tải của trình duyệt.