Python-网络请求
requests 模块
基本理论
Python requests 是一个常用的 HTTP 请求库,可以方便地向网站发送 HTTP 请求,并获取响应结果。
requests 模块比 urllib 模块更简洁。
如同 JavaScript 的 AJAX 与 C#的 HttpClient 一样,requests 模块用于请求网络接口,发送 get、post、put 等 http 请求。
代码示例
发送 Get 网络请求:
1 | # 导入 requests 包 |
常用方法
requests 模块有以下常用方法:
方法 | 描述 |
---|---|
delete(url, args) | 发送 DELETE 请求到指定 url |
get(url, params, args) | 发送 GET 请求到指定 url |
head(url, args) | 发送 HEAD 请求到指定 url |
patch(url, data, args) | 发送 PATCH 请求到指定 url |
post(url, data, json, args) | 发送 POST 请求到指定 url |
put(url, data, args) | 发送 PUT 请求到指定 url |
request(method, url, args) | 向指定的 url 发送指定的请求方法 |
使用 requests.request()发送 http 请求代码如下: |
1 | # 导入 requests 包 |
设置请求头
很多时候我们需要附带或修改请求头的信息比如携带 cookie,以下代码演示发送 get 请求并携带请求头的操作:
1 | # 导入 requests 包 |
response 对象
基本理论
每次调用 requests 请求之后,会返回一个 response 对象,该对象包含了具体的响应信息,如状态码、响应头、响应内容等:
1 | print(response.status_code) # 获取响应状态码 |
response 对象还有许多属性与方法,可以查文档了解他们。
json模块
基本理论
json是一种在http通信中常用的数据格式。
Python3 中可以使用 json 模块来对 JSON 数据进行编解码,它包含了两个函数:
json.dumps(): 对数据进行编码。
json.loads(): 对数据进行解码。
代码示例
将一个JSON编码的字符串转换回一个Python数据结构:
1 | #!/usr/bin/python3 |