本文整理汇总了Python中requests.models.Response.status_code方法的典型用法代码示例。如果您正苦于以下问题:Python Response.status_code方法的具体用法?Python Response.status_code怎么用?Python Response.status_code使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类requests.models.Response
的用法示例。
在下文中一共展示了Response.status_code方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get
# 需要导入模块: from requests.models import Response [as 别名]
# 或者: from requests.models.Response import status_code [as 别名]
def get(self):
r = Response()
try:
r._content = open(self.url).read()
#: Integer Code of responded HTTP Status.
r.status_code = 200
except IOError as e:
r.status_code = 404
raise ConnectionError(e)
r._content_consumed = True
#: Final URL location of Response.
r.url = self.url
#: Resulting :class:`HTTPError` of request, if one occurred.
self.error = None
#: Encoding to decode with when accessing r.content.
self.encoding = None
#: The :class:`Request <Request>` that created the Response.
self.request = self
# Return the response.
return r
示例2: test_get_301_circular_redirect
# 需要导入模块: from requests.models import Response [as 别名]
# 或者: from requests.models.Response import status_code [as 别名]
def test_get_301_circular_redirect(self, mock_request):
response0 = Response()
response0.url = 'http://www.test.com/path0'
response0.status_code = 301
response0.headers = {'Location': 'http://www.test.com/path1'}
response1 = Response()
response1.url = 'http://www.test.com/path1'
response1.status_code = 301
response1.headers = {'Location': 'http://www.test.com/path0'}
response2 = Response()
response2.url = 'http://www.test.com/path2'
response2.status_code = 200
response2._content = 'Mocked response content'
response2.history = [response0, response1]
mock_request.return_value = response2
r = get('http://www.test.com/path0')
self.assertEqual(mock_request.call_count, 1)
self.assertEqual(r.status_code, 200)
self.assertEqual(r.content, 'Mocked response content')
with self.assertRaises(TooManyRedirects):
get('http://www.test.com/path0')
示例3: test_get_response_contents
# 需要导入模块: from requests.models import Response [as 别名]
# 或者: from requests.models.Response import status_code [as 别名]
def test_get_response_contents():
response = Response()
response.status_code = 111
response._content = b'foo'
with pytest.raises(TravisError) as exception_info:
get_response_contents(response)
assert str(exception_info.value) == '[111] foo'
response._content = ''
with pytest.raises(TravisError) as exception_info:
get_response_contents(response)
assert str(exception_info.value) == textwrap.dedent('''
[111] Unexpected error
Possible reasons are:
- Communication with Travis CI has failed.
- Insufficient permissions.
- Invalid contents returned.
''')[1:]
response._content = b'{"error": "foo"}'
with pytest.raises(TravisError) as exception_info:
get_response_contents(response)
assert str(exception_info.value) == '[111] foo'
response.status_code = 200
assert get_response_contents(response) == {'error': 'foo'}
示例4: send
# 需要导入模块: from requests.models import Response [as 别名]
# 或者: from requests.models.Response import status_code [as 别名]
def send(self, request, stream=None, timeout=None, verify=None, cert=None, proxies=None):
pathname = url_to_path(request.url)
resp = Response()
resp.status_code = 200
resp.url = request.url
try:
stats = lstat(pathname)
except (IOError, OSError) as exc:
resp.status_code = 404
message = {
"error": "file does not exist",
"path": pathname,
"exception": repr(exc),
}
fh = SpooledTemporaryFile()
fh.write(ensure_binary(json.dumps(message)))
fh.seek(0)
resp.raw = fh
resp.close = resp.raw.close
else:
modified = formatdate(stats.st_mtime, usegmt=True)
content_type = guess_type(pathname)[0] or "text/plain"
resp.headers = CaseInsensitiveDict({
"Content-Type": content_type,
"Content-Length": stats.st_size,
"Last-Modified": modified,
})
resp.raw = open(pathname, "rb")
resp.close = resp.raw.close
return resp
示例5: test_get_301_only_once
# 需要导入模块: from requests.models import Response [as 别名]
# 或者: from requests.models.Response import status_code [as 别名]
def test_get_301_only_once(self, mock_request):
response0 = Response()
response0.url = 'http://www.test.com/neverseemeagain'
response0.status_code = 301
response0.headers = {
'Location': 'http://www.test.com/redirect_here',
}
response1 = Response()
response1.url = 'http://www.test.com/redirect_here'
response1.status_code = 200
response1._content = 'Mocked response content'
response1.headers = {
'Vary': 'Accept',
}
response1.history = [response0]
mock_request.return_value = response1
r = get('http://www.test.com/neverseemeagain')
self.assertEqual(mock_request.call_count, 1)
mock_request.assert_called_with('GET', 'http://www.test.com/neverseemeagain', allow_redirects=True)
self.assertEqual(r.status_code, 200)
#assert we not make request to 301 again
r = get('http://www.test.com/neverseemeagain')
self.assertEqual(mock_request.call_count, 2)
mock_request.assert_called_with('GET', 'http://www.test.com/redirect_here', allow_redirects=True)
self.assertEqual(r.status_code, 200)
示例6: test_disable_default_redirect_cache
# 需要导入模块: from requests.models import Response [as 别名]
# 或者: from requests.models.Response import status_code [as 别名]
def test_disable_default_redirect_cache(self, mock_request):
"""
Test disable default redirect cache (by setting default redirect cache to None)
"""
response0 = Response()
response0.url = 'http://www.test.com/neverseemeagain'
response0.status_code = 301
response0.headers = {
'Location': 'http://www.test.com/redirect_here',
}
response1 = Response()
response1.url = 'http://www.test.com/redirect_here'
response1.status_code = 200
response1._content = 'Mocked response content'
response1.headers = {
'Vary': 'Accept',
}
response1.history = [response0]
mock_request.return_value = response1
get('http://www.test.com/neverseemeagain')
mock_request.assert_called_with('GET', 'http://www.test.com/neverseemeagain', allow_redirects=True)
get('http://www.test.com/neverseemeagain')
mock_request.assert_called_with('GET', 'http://www.test.com/redirect_here', allow_redirects=True)
set_default_redirect_cache(None)
get('http://www.test.com/neverseemeagain')
mock_request.assert_called_with('GET', 'http://www.test.com/neverseemeagain', allow_redirects=True)
get('http://www.test.com/neverseemeagain')
mock_request.assert_called_with('GET', 'http://www.test.com/neverseemeagain', allow_redirects=True)
示例7: test_get_301_thrice
# 需要导入模块: from requests.models import Response [as 别名]
# 或者: from requests.models.Response import status_code [as 别名]
def test_get_301_thrice(self, mock_get):
response0 = Response()
response0.url = 'http://www.test.com/neverseemeagain'
response0.status_code = 301
response0.headers = {
'Location': 'http://www.test.com/redirect_1',
}
response1 = Response()
response1.url = 'http://www.test.com/redirect_1'
response1.status_code = 301
response1.headers = {
'Location': 'http://www.test.com/redirect_2',
}
response2 = Response()
response2.url = 'http://www.test.com/redirect_2'
response2.status_code = 301
response2.headers = {
'Location': 'http://www.test.com/redirect_3',
}
response3 = Response()
response3.url = 'http://www.test.com/redirect_3'
response3.status_code = 200
response3._content = 'Mocked response content'
response3.headers = {
'Vary': 'Accept',
}
response3.history = [response0, response1, response2]
mock_get.return_value = response3
r = get('http://www.test.com/neverseemeagain')
self.assertEqual(mock_get.call_count, 1)
mock_get.assert_called_with('http://www.test.com/neverseemeagain')
self.assertEqual(r.status_code, 200)
#assert we not make request to 301 again
r = get('http://www.test.com/neverseemeagain')
self.assertEqual(mock_get.call_count, 2)
mock_get.assert_called_with('http://www.test.com/redirect_3')
self.assertEqual(r.status_code, 200)
r = get('http://www.test.com/redirect_1')
self.assertEqual(mock_get.call_count, 3)
mock_get.assert_called_with('http://www.test.com/redirect_3')
self.assertEqual(r.status_code, 200)
r = get('http://www.test.com/redirect_2')
self.assertEqual(mock_get.call_count, 4)
mock_get.assert_called_with('http://www.test.com/redirect_3')
self.assertEqual(r.status_code, 200)
r = get('http://www.test.com/redirect_3')
self.assertEqual(mock_get.call_count, 5)
mock_get.assert_called_with('http://www.test.com/redirect_3')
self.assertEqual(r.status_code, 200)
示例8: test_domain_cookie
# 需要导入模块: from requests.models import Response [as 别名]
# 或者: from requests.models.Response import status_code [as 别名]
def test_domain_cookie(self, mock_request):
"""
Test domain cookies without 'Path'
"""
response0 = Response()
response0.status_code = 200
response0._content = 'Mocked response content'
response0.headers = {
'Set-Cookie': 'a=apple; Domain=fruits.com;, ' +
'b=banana; Domain=fruits.com;, ' +
'c=citrus; Domain=mediterranean.fruits.com;, ' +
'm=mango; Domain=tropical.fruits.com;'
}
response0.url = 'http://mediterranean.fruits.com/path0'
mock_request.return_value = response0
get('http://mediterranean.fruits.com/path0') # Initial request. No cookies.
mock_request.assert_called_with('GET', 'http://mediterranean.fruits.com/path0', allow_redirects=True)
get('http://mediterranean.fruits.com/path1') # 'a', 'b', and 'c' cookies should be present.
mock_request.assert_called_with('GET', 'http://mediterranean.fruits.com/path1', allow_redirects=True,
cookies={'a': 'apple', 'b': 'banana', 'c': 'citrus'})
get('http://tropical.fruits.com/path2') # 'a', 'b', and 'm' cookies should be present.
mock_request.assert_called_with('GET', 'http://tropical.fruits.com/path2', allow_redirects=True,
cookies={'a': 'apple', 'b': 'banana', 'm': 'mango'})
get('http://www.fruits.com/path3') # 'a' and 'b' cookies should be present.
mock_request.assert_called_with('GET', 'http://www.fruits.com/path3', allow_redirects=True,
cookies={'a': 'apple', 'b': 'banana'})
get('http://fruits.com/path4') # 'a' and 'b' cookies should be present.
mock_request.assert_called_with('GET', 'http://fruits.com/path4', allow_redirects=True,
cookies={'a': 'apple', 'b': 'banana'})
get('http://animals.com/path5') # Different domain. No cookies should be present.
mock_request.assert_called_with('GET', 'http://animals.com/path5', allow_redirects=True)
response1 = Response()
response1.status_code = 200
response1._content = 'Mocked response content'
response1.headers = {
'Set-Cookie': 'a=apricot; Domain=fruits.com;, ' +
'b=; Domain=fruits.com;, ' +
'm=melon; Domain=tropical.fruits.com;'
}
response1.url = 'http://tropical.fruits.com/path0'
mock_request.return_value = response1
get('http://tropical.fruits.com/path0') # Still called with previous cookies
mock_request.assert_called_with('GET', 'http://tropical.fruits.com/path0', allow_redirects=True,
cookies={'a': 'apple', 'b': 'banana', 'm': 'mango'})
get('http://tropical.fruits.com/path1') # called with new cookies
mock_request.assert_called_with('GET', 'http://tropical.fruits.com/path1', allow_redirects=True,
cookies={'a': 'apricot', 'b': '', 'm': 'melon'})
示例9: forward_request
# 需要导入模块: from requests.models import Response [as 别名]
# 或者: from requests.models.Response import status_code [as 别名]
def forward_request(self, method, path, data, headers):
data = json.loads(to_str(data))
if random.random() < config.DYNAMODB_ERROR_PROBABILITY:
return error_response_throughput()
action = headers.get('X-Amz-Target')
if action in ('%s.PutItem' % ACTION_PREFIX, '%s.UpdateItem' % ACTION_PREFIX, '%s.DeleteItem' % ACTION_PREFIX):
# find an existing item and store it in a thread-local, so we can access it in return_response,
# in order to determine whether an item already existed (MODIFY) or not (INSERT)
ProxyListenerDynamoDB.thread_local.existing_item = find_existing_item(data)
elif action == '%s.UpdateTimeToLive' % ACTION_PREFIX:
# TODO: TTL status is maintained/mocked but no real expiry is happening for items
response = Response()
response.status_code = 200
self._table_ttl_map[data['TableName']] = {
'AttributeName': data['TimeToLiveSpecification']['AttributeName'],
'Status': data['TimeToLiveSpecification']['Enabled']
}
response._content = json.dumps({'TimeToLiveSpecification': data['TimeToLiveSpecification']})
fix_headers_for_updated_response(response)
return response
elif action == '%s.DescribeTimeToLive' % ACTION_PREFIX:
response = Response()
response.status_code = 200
if data['TableName'] in self._table_ttl_map:
if self._table_ttl_map[data['TableName']]['Status']:
ttl_status = 'ENABLED'
else:
ttl_status = 'DISABLED'
response._content = json.dumps({
'TimeToLiveDescription': {
'AttributeName': self._table_ttl_map[data['TableName']]['AttributeName'],
'TimeToLiveStatus': ttl_status
}
})
else: # TTL for dynamodb table not set
response._content = json.dumps({'TimeToLiveDescription': {'TimeToLiveStatus': 'DISABLED'}})
fix_headers_for_updated_response(response)
return response
elif action == '%s.TagResource' % ACTION_PREFIX or action == '%s.UntagResource' % ACTION_PREFIX:
response = Response()
response.status_code = 200
response._content = '' # returns an empty body on success.
fix_headers_for_updated_response(response)
return response
elif action == '%s.ListTagsOfResource' % ACTION_PREFIX:
response = Response()
response.status_code = 200
response._content = json.dumps({'Tags': []}) # TODO: mocked and returns an empty list of tags for now.
fix_headers_for_updated_response(response)
return response
return True
示例10: deserialize_response
# 需要导入模块: from requests.models import Response [as 别名]
# 或者: from requests.models.Response import status_code [as 别名]
def deserialize_response(serialized):
r = Response()
r.encoding = serialized['body']['encoding']
h = [(k, from_list(v)) for k, v in serialized['headers'].items()]
r.headers = CaseInsensitiveDict(h)
r.url = serialized.get('url', '')
if 'status' in serialized:
r.status_code = serialized['status']['code']
r.reason = serialized['status']['message']
else:
r.status_code = serialized['status_code']
r.reason = _codes[r.status_code][0].upper()
add_urllib3_response(serialized, r)
return r
示例11: test_redirect
# 需要导入模块: from requests.models import Response [as 别名]
# 或者: from requests.models.Response import status_code [as 别名]
def test_redirect(self, mock_request):
"""
Test that each session has its own redirect "sandbox".
"""
response0 = Response()
response0.url = 'http://www.test.com/neverseemeagain'
response0.status_code = 301
response0.headers = {'Location': 'http://www.test.com/redirect_1'}
response1 = Response()
response1.url = 'http://www.test.com/redirect_1'
response1.status_code = 301
response1.headers = {'Location': 'http://www.test.com/redirect_2'}
response2 = Response()
response2.url = 'http://www.test.com/redirect_2'
response2.status_code = 301
response2.headers = {'Location': 'http://www.test.com/redirect_3'}
response3 = Response()
response3.url = 'http://www.test.com/redirect_3'
response3.status_code = 200
response3._content = 'Mocked response content'
response3.history = [response0, response1, response2]
mock_request.return_value = response3
s0 = Session()
s1 = Session()
# s0 make a request
r = s0.get('http://www.test.com/neverseemeagain')
mock_request.assert_called_with('GET', 'http://www.test.com/neverseemeagain', allow_redirects=True)
self.assertEqual(r.status_code, 200)
# s0 make a request again. Assert we not make request to 301 again.
r = s0.get('http://www.test.com/neverseemeagain')
mock_request.assert_called_with('GET', 'http://www.test.com/redirect_3', allow_redirects=True)
self.assertEqual(r.status_code, 200)
# s1 make a request
r = s1.get('http://www.test.com/neverseemeagain')
mock_request.assert_called_with('GET', 'http://www.test.com/neverseemeagain', allow_redirects=True)
self.assertEqual(r.status_code, 200)
# s1 make a request again. Assert we not make request to 301 again.
r = s1.get('http://www.test.com/neverseemeagain')
mock_request.assert_called_with('GET', 'http://www.test.com/redirect_3', allow_redirects=True)
self.assertEqual(r.status_code, 200)
示例12: _mock_keystone
# 需要导入模块: from requests.models import Response [as 别名]
# 或者: from requests.models.Response import status_code [as 别名]
def _mock_keystone(self, *args, **kwargs):
return_codes = {
'goodv2': httplib.OK,
'goodv3': httplib.CREATED,
'bad': httplib.UNAUTHORIZED
}
json = kwargs.get('json')
res = Response()
try:
# v2
res.status_code = return_codes[json['auth']['passwordCredentials']['username']]
except KeyError:
# v3
res.status_code = return_codes[json['auth']['identity']['password']['user']['name']]
return res
示例13: send
# 需要导入模块: from requests.models import Response [as 别名]
# 或者: from requests.models.Response import status_code [as 别名]
def send(self, request, stream=None, timeout=None, verify=None, cert=None,
proxies=None):
parsed_url = urlparse.urlparse(request.url)
# We only work for requests with a host of localhost
if parsed_url.netloc.lower() != "localhost":
raise InvalidURL("Invalid URL %r: Only localhost is allowed" %
request.url)
real_url = urlparse.urlunparse(parsed_url[:1] + ("",) + parsed_url[2:])
pathname = url_to_path(real_url)
resp = Response()
resp.status_code = 200
resp.url = real_url
stats = os.stat(pathname)
modified = email.utils.formatdate(stats.st_mtime, usegmt=True)
resp.headers = CaseInsensitiveDict({
"Content-Type": mimetypes.guess_type(pathname)[0] or "text/plain",
"Content-Length": stats.st_size,
"Last-Modified": modified,
})
resp.raw = LocalFSResponse(open(pathname, "rb"))
resp.close = resp.raw.close
return resp
示例14: test_create_session
# 需要导入模块: from requests.models import Response [as 别名]
# 或者: from requests.models.Response import status_code [as 别名]
def test_create_session(self, mock_request):
response = Response()
response.status_code = 201
response._content = json.dumps(test_session)
mock_request.return_value = response
expires_at = datetime.datetime.utcnow()
doc_id = test_document['id']
result = self.api.create_session(doc_id,
duration=600,
expires_at=expires_at,
is_downloadable=True,
is_text_selectable=True)
self.assertIsNotNone(result)
self.assertEqual(result['id'], test_session['id'])
data = {
'document_id': doc_id,
'duration': 600,
'expires_at': expires_at.replace(microsecond=0).isoformat(),
'is_downloadable': True,
'is_text_selectable': True
}
headers = {'Content-Type': 'application/json'}
url = urljoin(API_URL, 'sessions')
mock_request.assert_called_with('POST', url,
data=json.dumps(data),
headers=headers)
示例15: test_crate_document_from_url
# 需要导入模块: from requests.models import Response [as 别名]
# 或者: from requests.models.Response import status_code [as 别名]
def test_crate_document_from_url(self, mock_request):
response = Response()
response.status_code = 201
response._content = json.dumps(test_document)
mock_request.return_value = response
result = self.api.create_document(url=test_url,
name='Test Document',
thumbnails='100x100,200x200',
non_svg=False)
self.assertIsNotNone(result)
self.assertEqual(result, test_document)
data = {
'url': test_url,
'name': 'Test Document',
'thumbnails': '100x100,200x200',
}
headers = {'Content-Type': 'application/json'}
url = urljoin(API_URL, 'documents')
mock_request.assert_called_with('POST', url,
data=json.dumps(data),
headers=headers)
# url of file param is required
self.assertRaises(ValueError, self.api.create_document)