关键词

Python之 requests的使用(一)

下面就来详细讲解一下“Python之requests的使用(一)”的完整攻略。

1. HTTP协议及requests库简介

HTTP(Hypertext Transfer Protocol)是一种协议,它建立在TCP/IP协议之上,用于客户端和服务器之间的通信。在HTTP中,客户端向服务器发送HTTP请求,服务器响应该请求并返回HTTP响应,从而建立起一次基于请求和响应的通信。

requests库是Python中用于发送HTTP请求的第三方库。使用requests库,可以轻松地向远程服务器发送HTTP请求,同时处理响应信息。

2. requests库的基本用法

导入requests库:

import requests

发送GET请求:

response = requests.get('http://www.example.com') # 发送GET请求
print(response.text) # 打印响应内容

发送POST请求:

data = {'key1': 'value1', 'key2': 'value2'}
response = requests.post('http://www.example.com', data=data) # 发送POST请求
print(response.text) # 打印响应内容

3. requests库常用方法详解

发送HTTP请求的基本方式有GET和POST两种,requests库提供了对应的方法:

  • requests.get(url, params=None, **kwargs):发送GET请求。
  • requests.post(url, data=None, json=None, **kwargs):发送POST请求。

其中,参数params用于指定请求的参数;参数data用于指定POST请求中的表单数据;参数json用于指定POST请求中的JSON数据;参数**kwargs用于传递其他HTTP请求参数,例如headers、timeout等。

以下是requests库常用方法的详细说明:

  • response = requests.request(method, url, **kwargs):发送HTTP请求,method可选项有GET、POST、PUT、DELETE、HEAD等。
  • response.status_code:HTTP响应状态码。
  • response.text:HTTP响应内容,以字符串形式返回。
  • response.json():HTTP响应内容,以JSON形式返回。
  • response.headers:HTTP响应头信息。
  • response.cookies:HTTP响应Cookies。
  • response.content:HTTP响应正文,以bytes形式返回。

4. 示例说明

以下是两个使用requests库的示例:

示例一:获取IP地址

import requests

url = 'http://httpbin.org/ip'
response = requests.get(url)

if response.status_code == 200:
    print(response.json()['origin'])
else:
    print('请求失败')

解析:该示例发送GET请求获取IP地址。httpbin.org是一个HTTP请求测试服务器,此处访问其API接口/ip,可以返回发起请求的IP地址。获取IP地址可以通过解析返回结果中的'origin'字段实现。

示例二:文件上传

import requests

url = 'http://httpbin.org/post'
files = {'file': open('file.txt', 'rb')}
response = requests.post(url, files=files)

if response.status_code == 200:
   print(response.json()['files'])
else:
   print('请求失败')

解析:该示例采用POST方式发送文件上传请求。文件上传需要使用multipart/form-data格式,一般情况下会使用form-data形式来提交文件。在requests库中,可使用files参数来指定上传文件。文件指定方式有两种:使用open()函数打开文件和使用字符串形式指定文件内容。请求成功后,可通过解析返回结果中的'files'字段得到上传文件的相关信息。

5. 总结

本篇攻略详细介绍了Python中使用requests库进行HTTP请求的基本使用方法和常用方法,同时介绍了两个使用requests库的实际应用示例。对于使用requests库进行HTTP请求的初学者,本篇攻略希望可以为您提供一些指导。

本文链接:http://task.lmcjl.com/news/15165.html

展开阅读全文