Requests-HTML 0.10.0: پیکربندی پروکسی Chromium برای render()
آرگومانهای راهاندازی Chromium و همچنین Requests را زمانی پیکربندی کنید که یک صفحه قدیمی Requests-HTML پیش از render() موفق میشود و پس از آن شکست میخورد.
در Requests-HTML 0.10.0، session.get() از Requests استفاده میکند، در حالی که response.html.render() باعث اجرای Pyppeteer میشود و معمولاً Chromium را دوباره به نشانی صفحه هدایت میکند. پاسخ اول موفق مسیر مرورگر را تثبیت نمیکند.
برای یک محیط قدیمی سازگار موجود که از پروکسی HTTP بدون احراز هویت استفاده میکند:
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()
در مثال صفحه عمومی، فهرست پروکسی HTTP گزینههایی برای proxy_url فراهم میکند. browser_args ورودی عمومی سازندهٔ نشست است. دیکشنری proxies در Requests آن آرگومانهای Chromium را پر نمیکند.
شکل socks5h:// در Requests نیز بهسادگی در Chromium قابل کپی نیست. Chromium شکل socks5:// را میپذیرد، نام مقصدهای SOCKS5 را از طریق پروکسی حل میکند و احراز هویت نام کاربری/گذرواژهٔ SOCKS5 را پشتیبانی نمیکند.
render(reload=False) بهجای هدایت به نشانی صفحه، HTML موجود را به مرورگر میدهد. اسکریپتها و زیرمنابع همچنان میتوانند درخواست بفرستند. این کار هنگام رندر عمدی آن پاسخ مفید است، اما اتصال Requests را به انتقالدهندهٔ مرورگر تبدیل نمیکند.