[英]How can I input http request parameters (headers, etc) into a request within a function?
假設我有一個函數需要一些 *args(或 **kwargs??)用於 http 請求,並且我想在每次調用該函數時輸入不同的參數 - 類似於:
def make_some_request(self, *args)
response = requests.get(*args)
return response
其中*args
在一種情況下可能是 url、標頭和參數,在另一種情況下可能是 url 和超時。 如何格式化才能使請求看起來像
response = requests.get(url, headers=headers, params=parameters)
在第一個函數調用和
response = requests.get(url, timeout=timeout)
在第二個函數調用中?
我想知道這是否可以使用 *args 或 **kwargs 但格式似乎不太正確。
你可以用**kwargs
來做到這一點:
class Client:
def make_some_request(self, *args, **kwargs)
response = requests.get(*args, **kwargs)
return response
client = Client()
client.make_some_request("https://domain.tld/path?param=value", timeout=...)
client.make_some_request("https://domain.tld/path?param=value", headers=..., params=...)
*args
將負責傳遞位置參數(URL),而命名參數( timeout
、 headers
、 params
)將由**kwargs
傳遞給requests.get
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.