繁体   English   中英

如何传递剧作家 python 的所有标头?

[英]How to pass all headers from playwright python?

目前,我可以从剧作家那里发送用户代理以及视口大小。 但我想发送所有标题信息,如accept, accept_encoding, accept_language,referer, cookies,etc 我也查看了setExtraHTTPHeaders() 有没有办法在剧作家python中发送。

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)
    context = browser.new_context(
                user_agent=agent #agent declared above,
            )
    page = context.new_page()
    response = page.goto("https://www.somewebsite.com/")

    #Doing some work in the website
    page.locator('#some_id').fill("some_text")
    page.press('#another_id', "Enter")

    page.route("**/*", intercept_route)

当我查看dir(context)中的内容时,找到了答案。 在 python 中,我们可以使用context.set_extra_http_headers(headers)发送额外的头信息,如accept, accept-encoding, referrer, accept-language,etc

user-agent 、 prefers prefers-colors-schemeaccept-languagecookies可以分别设置为浏览器的new_context的 arguments user_agentcolor_schemelocalestorage_state referer可以用page.goto的参数referer设置。 对于文档中未提及的其他不太流行的标头,可以使用new_context的参数extra_http_headers设置它们。 代码看起来类似于

context = browser.new_context(
            user_agent=agent,
            color_scheme=r"light",
            locale=r"en-US,en;q=0.9",
            storage_state={cookies: [{}],
            extra_http_headers={}
        )
page = context.new_page()
response = page.goto(r"https://www.somewebsite.com/",
                     referer=r"https://google.com"
        )

这同样适用于browser.new_page() 要更好地查看您的浏览器发送的标头,您可以 go 到类似的网站,例如这个 希望有所帮助,祝你好运。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM