本文整理汇总了Python中requests.Request方法的典型用法代码示例。如果您正苦于以下问题:Python requests.Request方法的具体用法?Python requests.Request怎么用?Python requests.Request使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类requests
的用法示例。
在下文中一共展示了requests.Request方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: extract_url_path_and_query
# 需要导入模块: import requests [as 别名]
# 或者: from requests import Request [as 别名]
def extract_url_path_and_query(full_url=None, no_query=False):
"""
Convert http://foo.bar.com/aaa/p.html?x=y to /aaa/p.html?x=y
:param no_query:
:type full_url: str
:param full_url: full url
:return: str
"""
if full_url is None:
full_url = request.url
split = urlsplit(full_url)
result = split.path or "/"
if not no_query and split.query:
result += '?' + split.query
return result
# ################# End Client Request Handler #################
# ################# Begin Middle Functions #################
示例2: send_router_login
# 需要导入模块: import requests [as 别名]
# 或者: from requests import Request [as 别名]
def send_router_login(request_url, username, password, session):
url_parts = urlparse(request_url)
auth_url = "{}://{}/api/v1/auth/local".format(url_parts.scheme, url_parts.netloc)
data = {
'username': username,
'password': password
}
request = requests.Request('POST', auth_url, json=data)
prepped = session.prepare_request(request)
res = session.send(prepped)
print("Server responded: {} {}".format(res.status_code, res.reason))
if res.ok:
data = res.json()
token = data['token']
return (res.status_code, token)
else:
return (res.status_code, None)
示例3: send
# 需要导入模块: import requests [as 别名]
# 或者: from requests import Request [as 别名]
def send(self, request: Request) -> Response:
"""Delegate request to underlying sender and retry if failed."""
if self.is_async:
return self._async_send(request)
tries = self.retries + 1
delay_seconds = 1
while tries > 0:
r = self.sender.send(request)
if r.status_code == 429:
seconds = r.headers.get('Retry-After', 1)
time.sleep(int(seconds) + 1)
elif r.status_code >= 500 and tries > 1:
tries -= 1
time.sleep(delay_seconds)
delay_seconds *= 2
else:
return r
示例4: _async_send
# 需要导入模块: import requests [as 别名]
# 或者: from requests import Request [as 别名]
def _async_send(self, request: Request) -> Response:
tries = self.retries + 1
delay_seconds = 1
while tries > 0:
r = await self.sender.send(request)
if r.status_code == 429:
seconds = r.headers.get('Retry-After', 1)
await asyncio.sleep(int(seconds) + 1)
elif r.status_code >= 500 and tries > 1:
tries -= 1
await asyncio.sleep(delay_seconds)
delay_seconds *= 2
else:
return r
示例5: _load
# 需要导入模块: import requests [as 别名]
# 或者: from requests import Request [as 别名]
def _load(self, request: Request) -> tuple:
params = ('&' + urlencode(request.params)) if request.params else ''
url = request.url + params
item = self._cache.get(url, None)
if item is None:
return None, None
vary_key = self._vary_key(request, item[0])
cached = item[1].get(vary_key, None)
if cached is not None:
response = cached['response']
deque_item = (url, vary_key)
if self._cc_fresh(cached):
self._update_usage(deque_item)
return response, None
elif self._has_etag(cached):
self._update_usage(deque_item)
return response, cached['etag']
elif self.max_size is not None:
self._deque.remove(deque_item)
return None, None
示例6: send_and_process_token
# 需要导入模块: import requests [as 别名]
# 或者: from requests import Request [as 别名]
def send_and_process_token(
function: Callable[..., Request]
) -> Callable[..., Token]:
"""Send request and parse reponse for token."""
async def async_send(self, request: Request):
response = await self._send(request)
return parse_token(response)
@wraps(function)
def wrapper(self, *args, **kwargs):
request = function(self, *args, **kwargs)
if self.is_async:
return async_send(self, request)
response = self._send(request)
return parse_token(response)
return wrapper
示例7: send_and_process_refreshed_token
# 需要导入模块: import requests [as 别名]
# 或者: from requests import Request [as 别名]
def send_and_process_refreshed_token(
function: Callable[..., Request]
) -> Callable[..., Token]:
"""Send request and parse refreshed token."""
async def async_send(self, request: Request, refresh_token: str):
response = await self._send(request)
return parse_refreshed_token(response, refresh_token)
@wraps(function)
def wrapper(self, *args, **kwargs):
request, refresh_token = function(self, *args, **kwargs)
if self.is_async:
return async_send(self, request, refresh_token)
response = self._send(request)
return parse_refreshed_token(response, refresh_token)
return wrapper
示例8: request_user_token
# 需要导入模块: import requests [as 别名]
# 或者: from requests import Request [as 别名]
def request_user_token(self, code: str) -> Token:
"""
Request a new user token.
Step 2/2 in authorisation code flow.
Code is provided as a URL parameter in the redirect URI
after login in step 1.
Parameters
----------
code
code from redirect parameters
Returns
-------
Token
user access token
"""
payload = {
'code': code,
'redirect_uri': self.redirect_uri,
'grant_type': 'authorization_code'
}
return self._request_token(payload)
示例9: refresh_user_token
# 需要导入模块: import requests [as 别名]
# 或者: from requests import Request [as 别名]
def refresh_user_token(self, refresh_token: str) -> Token:
"""
Request a refreshed user token.
Parameters
----------
refresh_token
refresh token
Returns
-------
Token
refreshed user access token
"""
payload = {
'refresh_token': refresh_token,
'grant_type': 'refresh_token'
}
return self._request_token(payload), refresh_token
示例10: playlist_cover_image_upload
# 需要导入模块: import requests [as 别名]
# 或者: from requests import Request [as 别名]
def playlist_cover_image_upload(self, playlist_id: str, image: str) -> None:
"""
Upload a custom playlist cover image.
Parameters
----------
playlist_id
playlist ID
image
image data as a base64-encoded string
"""
return Request(
method='PUT',
url=build_url(f'playlists/{playlist_id}/images'),
headers=self._create_headers(content_type='image/jpeg'),
data=image
)
示例11: from_prepared_request
# 需要导入模块: import requests [as 别名]
# 或者: from requests import Request [as 别名]
def from_prepared_request(cls, prepared: requests.PreparedRequest) -> "Request":
"""A prepared request version is already stored in `requests.Response`."""
body = prepared.body or b""
if isinstance(body, str):
# can be a string for `application/x-www-form-urlencoded`
body = body.encode("utf-8")
# these values have `str` type at this point
uri = cast(str, prepared.url)
method = cast(str, prepared.method)
return cls(
uri=uri,
method=method,
headers={key: [value] for (key, value) in prepared.headers.items()},
body=base64.b64encode(body).decode(),
)
示例12: get_idle_ci_hosts
# 需要导入模块: import requests [as 别名]
# 或者: from requests import Request [as 别名]
def get_idle_ci_hosts(self):
"""Query Jenkins for idle servers.
Send GET request to Jenkins server, querying for idle servers labeled
for nGraph-ONNX CI job.
:return: Number of idle hosts delegated to nGraph-ONNX CI
:rtype: int
"""
jenkins_request_url = self.jenkins_server + 'label/ci&&onnx/api/json?pretty=true'
try:
log.info('Sending request to Jenkins: %s', jenkins_request_url)
r = requests.Request(method='GET', url=jenkins_request_url, verify=False)
response = self.jenkins.jenkins_request(r).json()
return int(response['totalExecutors']) - int(response['busyExecutors'])
except Exception as e:
log.exception('Failed to send request to Jenkins!\nException message: %s', str(e))
raise
示例13: _build_authorizaton_url
# 需要导入模块: import requests [as 别名]
# 或者: from requests import Request [as 别名]
def _build_authorizaton_url(self, state_token):
authorization_request = requests.Request(
'GET',
self.auth_endpoint,
params={
'access_type': 'offline',
'response_type': 'code',
'client_id': self.client_id,
'redirect_uri': self._redirect_uri,
'scope': self.scopes,
'state': state_token,
}).prepare()
logging.debug('Constructed authoriation request at: %s',
authorization_request.url)
return authorization_request.url
示例14: get_result
# 需要导入模块: import requests [as 别名]
# 或者: from requests import Request [as 别名]
def get_result(plaintext, key, session, pad_chars):
global requests_sent, char_requests
url = args.url
base_pad = (len(key) % 4)
base = '' if base_pad == 0 else pad_chars[0:4 - base_pad]
dp_encrypted = base64.b64encode(
(encrypt(plaintext, key) + base).encode()
).decode()
request = requests.Request('GET', url + '?dp=' + dp_encrypted)
request = request.prepare()
response = session.send(request, verify=False, proxies = getProxy(args.proxy))
requests_sent += 1
char_requests += 1
match = re.search("(Error Message:)(.+\n*.+)(</div>)", response.text)
return True \
if match is not None \
and match.group(2) == args.oracle \
else False
示例15: response_cookie_rewrite
# 需要导入模块: import requests [as 别名]
# 或者: from requests import Request [as 别名]
def response_cookie_rewrite(cookie_string):
"""
rewrite response cookie string's domain to `my_host_name`
:type cookie_string: str
"""
cookie_string = regex_cookie_rewriter.sub('domain=' + my_host_name_no_port, cookie_string)
return cookie_string
# ################# End Server Response Handler #################
# ################# Begin Client Request Handler #################