处理可变数量的关键字参数以发送请求

时间:2015-10-22 13:53:10

标签: python python-2.7

Python 2.7

相关

在使用kwargs时,如何通过可变数量的requests构建请求。

我使用requests模块直接与REST API交互,后者需要可变数量的关键字参数才能成功。

我希望将其保留在单个api类中,而不是重写相同的GET / POST请求代码。但是,处理可变数量的参数似乎可以归结为一系列if-else语句,这些语句不是特别易读。

例如:

def request(self):
    try:
        if self.data:
            request = requests.post(url=self.url, headers=self.headers,
                 data=self.data, timeout=self.timeout, verify=False)
        else:
            request = requests.get(url=self.url, headers=self.headers, 
                    timeout=self.timeout, verify=False)
    ...
    ...

优选地,请求属性是随着时间的推移而构建的,并且它们通过单个GET或POST请求传递(被授予,上面的代码仍然是必需的但是很小)。

1 个答案:

答案 0 :(得分:1)

如果你将属性默认设置为与strbody = strbody & "Thank you for contacting us to gain account access. <br><br>" (基本上是requests.post)的参数相同的值,那么你可以安全地将它们全部作为关键字参数传递:

None