2017-09-15 136 views
1

我必须注入PUT(卷曲-XPOST当量)两个变量Python的请求 - 使用标头中的变量和get请求

  • 变量1(头)
  • 变量2(URL的一部分)

    headers = {'Authorization': 'Bearer Variable1', 
    } 
    
    files = [ 
    ('server', '*'), 
    ] 
    
    requests.get('https://URL/1/2/3/4/5/Variable2', headers=headers, files=files, verify=False) 
    

我遇到两个问题:

  1. 将变量包含到请求中的正确方法
  2. 由于这是通过HTTPS运行的,因此如何验证请求中实际包含的内容?我想验证此调试目的

回答

1
  1. 什么是变量包括在请求

传递headers字典为headers参数的正确方法,因为你写它,很好。对于你的url字符串,我只需要将join()作为你的变量2的基本URL,并将其作为参数传递。

这是我怎么会写这样的代码:由于这是整个HTTPS运行

import requests 

base_url = 'https://URL/1/2/3/4/5/' 
url = ''.join([base_url, Variable2]) 

headers = {'Authorization': 'Bearer Variable1',} 
files = [('server', '*'),] 

resp = requests.put(url, headers=headers, files=files, verify=False) 
  • ,我如何验证什么是真正请求内包括的?我想验证此调试目的
  • 您可以利用PreparedRequest对象:

    from requests import Request, Session 
    
    r = Request('PUT', url, headers=headers, files=files) 
    prepped = r.prepare() 
    
    # now, for example, you can print out the url, headers, method... 
    # whatever you need to validate in your request. 
    # for example: 
    # print prepped.url, prepped.headers 
    
    # you can also send the request like this... 
    
    s = Session() 
    resp = s.send(prepped)