语法
requests.nameofmethod(parameters)
背景和入门
requests库有几个GET的选项。第一部分涉及到requests.get()URL和超时。本文重点介绍GET的其他方法。
如果计算机上不存在请求库,请浏览第一部分的说明。
"get "请求。"params"
在某些时候,你可能需要使用一个URL查询字符串来发送数据。如果查询是硬编码的,其格式将类似于下面。
例如 :somewebsite.com?key1=val&key2=val
注意:第一个参数包含一个问号(?),表示一个单一的值。如果传递一个以上的值,在附加值之间使用安培号(&)。
请求库允许你轻松地将这些参数作为以下数据类型之一来传递。
对于这个例子,测试网站httpbin是URL。
第 [2] 行将两个key:value对分配给一个 dictionary。
第 [3] 行试图连接到URL和key_vals字典到params。
第 [4] 行输出附加了key_vals内容的URL。
第[5]行关闭打开的连接。
代码
key_vals = {'key1': 'value1', 'key2': 'value2'}
response = requests.get('httpbin.org/get', params=key_vals)
print(response.url)
响应.关闭()
输出
2. "获取 "请求。"allow_redirects"
这个方法不是必须的,可以是True或False。默认情况下,该值为True:允许重定向。如果是False,代码会阻止重定向到另一个网站或同一网站的另一个网页。
第[2]行尝试连接到URL并将allow_redirects设置为False。
第[3]行输出响应代码到终端。
第[4]行关闭开放连接。
代码
response = requests.get('app.finxter.com', allow_redirects=False)
print(response.status_code)
response.close()
输出
302
3. "get "请求。"auth"
通常被称为基本认证,这是最简单的使用方法之一。这个选项是不需要的。默认情况下,这个值是无:不需要认证。其格式是一个有两个元素的元组。
第[2]行试图连接到并将auth设置为用户名和密码。
第[3]行将响应代码输出到终端。
第[4]行关闭开放连接。
代码
response = requests.get('www.facebook.com/', auth=('用户名', '密码'))
print(response.status_code)
response.close()
输出
200
关于其他认证方法,请点击这里。
4. "获取 "请求。"cert "和 "验证"
这个方法需要一个有效的SSL证书。该证书用于HTTPS请求。
SSL证书是一个小文件,将指定的证书连接到公司的详细信息。一个有SSL证书的网站被认为是安全的。默认情况下,cert等于启用:检查一个有效的SSL证书。如果SSL证书无效,将出现一个SSLError。
第[2]行试图连接到URL并将cert设置为SSL证书的位置和文件名。
第[3]行输出响应代码到终端。
第[4]行关闭开放连接。
代码
response = requests.get('somesite.com', cert='certs/my_cert.cert')
print(response.status_code)
响应.关闭()
输出
200
如果不成功,会有一个错误代码输出到终端,显示细节。也许SSL证书没有设置或设置不当。为了解决这个问题,使用验证并设置为False。
代码
response = requests.get('somesite.com', cert='certs/my_cert.cert', verify=False)
print(response.status_code)
response.close()
输出
在这个例子中,似乎返回了 "成功 "的状态代码。然而,我们确实得到了一个关于验证的警告。
<Response [200]>
...
正在向主机'somesite.com'发出未经验证的HTTPS请求。强烈建议添加证书验证。
...
5. "get "请求。"cookies"
这个方法不是必须的,是发送到指定URL的cookie的字典。默认情况下,其值为None:不发送cookies。
这个例子使用测试网站httpbin,并向一个URL发出一个自定义的cookie。
第[1]行创建一个cookie。
第[2]行传递一个URL并将cookie设置为my_cookies。
第[3]行将内容输出到终端。
第[4]行关闭开放连接。
代码
my_cookies = dict(cookies_are='working')
response = requests.get('httpbin.org/cookies', cookies=cookies)
print(response.text)
response.close()
输出
{
"cookies"。{
"cookies_are": "working"
}
}
总结
在这篇文章中,我们学习了如何。
- 通过一个URL发送数据
- 允许或阻止重定向
- 使用认证
- 使用SSL证书并验证其真实性
- 使用cookies
下一步
第三部分将重点介绍其余的GET方法和更多的好东西。
- "get "请求。"标头 "请求
- "获取 "请求。"代理机构"
- 获取 "请求。"流"
- 异常处理
The postPython Requests Libraryfirst appeared onFinxter.