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-ს გვერდის URL-ზე. წარმატებული პირველი პასუხი ბრაუზერის მარშრუტს არ ადგენს.
არსებული თავსებადი ძველი გარემოსთვის, რომელიც იყენებს აუთენტიფიკაციის გარეშე 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 არის სესიის საჯარო კონსტრუქტორის შეყვანა. Requests-ის proxies ლექსიკონი არ ავსებს ამ Chromium არგუმენტებს.
Requests-ის socks5h:// ჩანაწერის უბრალოდ Chromium-ში კოპირებაც შეუძლებელია. Chromium იღებს socks5://-ს, SOCKS5 დანიშნულების სახელებს პროქსის მეშვეობით წყვეტს და არ უჭერს მხარს SOCKS5 მომხმარებლის სახელის/პაროლის აუთენტიფიკაციას.
render(reload=False) გვერდის URL-ზე გადასვლის ნაცვლად არსებულ HTML-ს აწვდის ბრაუზერს. სკრიპტებსა და ქვე-რესურსებს კვლავ შეუძლიათ მოთხოვნების გაგზავნა. ეს სასარგებლოა, როცა ამ პასუხის განზრახ რენდერი ხდება, მაგრამ Requests-ის კავშირს ბრაუზერის ტრანსპორტად არ აქცევს.