1
我无法找到如何在selenium chrome webdriver(python)中设置请求头文件。我需要设置“主机”标题。我tryed说:如何在Python中设置头文件selenium chrome webdriver
from selenium import webdriver
from pyvirtualdisplay import Display
from selenium.webdriver import DesiredCapabilities
url = 'http://localhost:888/test'
display = Display(visible=0, size=(800, 800))
display.start()
desired_capabilities = DesiredCapabilities.CHROME.copy()
desired_capabilities['chrome.page.customHeaders.host'] = 'test.local'
driver = webdriver.Chrome('/tmp/chromedriver',
desired_capabilities=desired_capabilities)
driver.get(url)
而且结果:
GET /test HTTP/1.1
Host: localhost:888
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/53.0.2785.143 Chrome/53.0.2785.143 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
所以,我预计头host:test.local
却发现Host: localhost:888
我做错了吗?我找不到如何使用Chrome的设置头的webdriver :(
设置我需要发送请求到本地主机不同的'主机'头部,我怎么能这样做? –
所以服务器认为你的浏览器是在别的地方?你不能,不是真的,你不会发送你的主机名到服务器,而是一个TCP连接,这意味着服务器会得到你的IP地址,服务器可能会做反向查询来试图从IP中确定主机名,但不会自动地进行。代理允许你使用中间路由来“更改”你的IP,但这听起来不像你在找什么河 – pbuck