本文整理汇总了Python中requests.structures方法的典型用法代码示例。如果您正苦于以下问题:Python requests.structures方法的具体用法?Python requests.structures怎么用?Python requests.structures使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类requests
的用法示例。
在下文中一共展示了requests.structures方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _merge_headers
# 需要导入模块: import requests [as 别名]
# 或者: from requests import structures [as 别名]
def _merge_headers(self, call_specific_headers):
"""
Merge headers from different sources together. Headers passed to the
post/get methods have highest priority, then headers associated with
the connection object itself have next priority.
:param call_specific_headers: A header dict from the get/post call, or
None (the default for those methods).
:return: A key-case-insensitive MutableMapping object which contains
the merged headers. (This doesn't actually return a dict.)
"""
# A case-insensitive mapping is necessary here so that there is
# predictable behavior. If a plain dict were used, you'd get keys in
# the merged dict which differ only in case. The requests library
# would merge them internally, and it would be unpredictable which key
# is chosen for the final set of headers. Another possible approach
# would be to upper/lower-case everything, but this seemed easier. On
# the other hand, I don't know if CaseInsensitiveDict is public API...?
# First establish defaults
merged_headers = requests.structures.CaseInsensitiveDict({
"User-Agent": self.user_agent
})
# Then overlay with specifics from post/get methods
if call_specific_headers:
merged_headers.update(call_specific_headers)
# Special "User-Agent" header check, to ensure one is always sent.
# The call-specific overlay could have null'd out that header.
if not merged_headers.get("User-Agent"):
merged_headers["User-Agent"] = self.user_agent
return merged_headers