可以设置接受语言标头,但不能设置连接标头?PhantomJS(Selenium Webdriver with Pytho



我可以设置Accept-Language标头,但不知何故,我无法将Connection标头设置为"keep-alive":

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import     DesiredCapabilities
webdriver.DesiredCapabilities.PHANTOMJS['phantomjs.page.customHeaders.Accept-Language'] = 'ru-RU'
webdriver.DesiredCapabilities.PHANTOMJS['phantomjs.page.customHeaders.Connection'] = "keep-alive"
driver = webdriver.PhantomJS("/home/user/bin/phantomjs",service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any'])
driver.set_window_size(1120, 550)
driver.get("http://www.httpbin.org/headers")
print(driver.page_source)

输出

<html><head></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">{
  "headers": {
    "Accept":     "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
    "Accept-Encoding": "gzip, deflate",
    "Accept-Language": "ru-RU",
    "Host": "www.httpbin.org",
    "User-Agent": "Mozilla/5.0 (Unknown; Linux x86_64) AppleWebKit/538.1   (KHTML, like Gecko) PhantomJS/2.1.1 Safari/538.1"
  }
}
</pre></body></html>

我想,无论出于什么原因,标题本身或字段都是区分大小写的,所以我查找了这些标题的示例,并按原样使用它们,但没有骰子。如何设置Connection标头或Keep-alive标头?

看起来phantomjs连接的默认标头是Keep-alive,即使不使用phantomjs,用于查看标头的站点也不会显示connection标头。如果你使用Fiddler查看你的请求,你可以看到它有连接保持活动的头

GET/headers HTTP/1.1接受:text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
用户代理:Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/538.1(KHTML,类似Gecko)PhantomJS/2.1.1 Safari/538.1

连接:保持活动

接受编码:gzip,deflate接受语言:en-US*主机:www.httpbin.org

最新更新