一、简介
getone是一个多功能的网络请求库,它支持同步和异步请求,支持GET、POST和自定义方法,支持文件上传和下载,支持HTTP和HTTPS,支持Cookie、代理、超时等等。使用getone,你可以轻松地发送HTTP/HTTPS请求并处理返回结果。
二、基本用法
1. 发送GET请求
import getone url = "https://api.github.com/" response = getone.get(url) print(response.status_code) # 输出响应状态码 print(response.text) # 输出响应内容
上面的代码示例中,我们使用get函数发送了一个GET请求,并打印了响应状态码和响应内容。在这个URL中,我们可以得到GitHub API的根目录。
2. 发送POST请求
import getone url = "https://httpbin.org/post" data = {'message': 'hello world'} response = getone.post(url, data=data) print(response.status_code) # 输出响应状态码 print(response.json()) # 输出响应JSON内容
上面的代码示例中,我们使用post函数发送了一个POST请求,并打印了响应状态码和响应JSON内容。在这个URL中,我们可以得到一个完整的HTTP请求和响应的信息。
三、高级用法
1. 自定义请求头
getone允许您自定义HTTP请求头。只需将headers参数传递给get或post函数即可:
import getone url = "https://www.baidu.com" headers = {'User-Agent': 'Mozilla/5.0'} response = getone.get(url, headers=headers) print(response.status_code) # 输出响应状态码 print(response.text) # 输出响应内容
上面的代码示例中,我们自定了User-Agent请求头并获取了百度首页的内容。
2. 发送文件
通过POST方法发送文件,只需将files参数传递给post函数即可:
import getone url = "https://httpbin.org/post" files = {'file': open('example.txt', 'rb')} response = getone.post(url, files=files) print(response.status_code) # 输出响应状态码 print(response.json()) # 输出响应JSON内容
上面的代码示例中,我们通过POST方法发送了一个文件,并获得了服务器响应的JSON内容。
3. 超时设置
您可以通过timeout参数设置请求超时时间(秒):
import getone url = "https://www.163.com" response = getone.get(url, timeout=1) print(response.status_code) # 输出响应状态码 print(response.text) # 输出响应内容
上面的代码示例中,我们通过timeout参数设置了请求超时时间为1秒。如果服务器在1秒内未对请求作出响应,则会抛出超时异常。
4. 代理设置
如果您需要通过代理服务器发送请求,请使用proxies参数:
import getone url = "https://www.google.com" proxies = {'https': 'https://127.0.0.1:1080'} response = getone.get(url, proxies=proxies) print(response.status_code) # 输出响应状态码 print(response.text) # 输出响应内容
上面的代码示例中,我们配置了https协议下的代理服务器,并获取了谷歌首页的内容。
5. Cookie管理
getone提供了Cookie支持。您可以通过cookies参数设置Cookie,或通过cookiejar参数使用自定义CookieJar实例:
import getone import http.cookiejar url = "https://httpbin.org/cookies" cookies = dict(cookies_are='working') response = getone.get(url, cookies=cookies) print(response.status_code) # 输出响应状态码 print(response.json()) # 输出响应JSON内容 # 使用自定义CookieJar实例 cookie_jar = http.cookiejar.CookieJar() response = getone.get(url, cookiejar=cookie_jar) print(response.status_code) # 输出响应状态码 print(response.json()) # 输出响应JSON内容
上面的代码示例中,我们演示了如何使用Cookie进行请求。