2017-07-18 39 views
1

发送python请求到需要认证的服务器以下载文件。我试图发送一个cookie和一个包含请求的头文件。发送此请求的格式是什么?Python,发送带有标题和cookie的请求

从Chrome开发者,我可以看到请求头为: enter image description here

蟒蛇要求:

Session = requests.Session() 
cookies = browser.get_cookies() 

response = Session.get(url) 

tt = "ASPSESSIONIDSGSRSATR" 
cookie = {tt:Session.cookies.get_dict().get(tt,""), 
      cookies[2].get("name",""):cookies[2].get("value",""), 
      cookies[0].get("name",""):cookies[0].get("value","")} 


header = {"Host":"ecsxxxxxxxxxxxxxxxxxxxxx", 
      "Connection": "keep-alive", 
      "Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", 
      "User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36", 
      "Referer":"https://ecsxxxxxxxxxxxxxxxxxxxxx", 
      "Accept-Encoding":"gzip, deflate, sdch", 
      "Accept-Language":"en-US,en;q=0.8,fr;q=0.6"} 

response = Session.get(url, cookies = cookie, headers = header) 
+0

你知道服务器使用的身份验证类型? –

+0

不可以。我如何找到它? – Iorek

+0

这是一个Oracle EMC服务器,如果这有助于 – Iorek

回答

0

评论:......那怎么接受的用户名/ PWORD ?

Using the Python Kerberos Module

Kerberos的基础

当建立在服务器上的Kerberos身份验证,有两种基本的操作模式。
从客户端实现的角度来看,最简单的方法就是使用Basic Auth将用户名和密码传递给服务器,服务器随后使用Kerberos领域进行检查。


评论:这是一个Kerberos服务器

有一个可选

requests Kerberos/GSSAPI authentication library

这个库增加了可选的Kerberos/GSSAP我认证支持并支持相互认证。

基本GET用法:

import requests 
from requests_kerberos import HTTPKerberosAuth 
r = requests.get("http://example.org", auth=HTTPKerberosAuth()) 

SO:session auth in python

+0

今天早上我在玩图书馆,但是如何接受用户名/ pword? – Iorek