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 연결을 브라우저의 전송 경로로 바꾸지는 않습니다.

관련 글