Python HTTP验证

验证是确定请求是否来自具有使用系统所需特权的有效用户的过程。在计算机网络世界中,这是非常重要的要求,因为许多系统保持相互交互,并且需要适当的机制来确保这些程序之间仅发生有效的交互。

python模块名称requests具有内置功能,可以调用服务网络应用提供的各种API以及用户凭据。这些凭据必须嵌入在调用程序中。如果API成功验证,则发生有效登录。

安装请求

我们安装了所需的名为请求的python模块,用于运行身份验证程序。

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.codebaoku.com
# Date : 2020-08-25
pip install requests

向Github进行身份验证

在下面,我们看到一种仅包含用户名和密码的简单身份验证机制。成功的响应表明有效的登录。

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.codebaoku.com
# Date : 2020-08-25
import requests
r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
print r

验证到Twitter

还可以运行一个程序来使用twitter的api,并通过使用以下代码来成功登录。使用请求模块中可用的OAuth1方法来处理Twitter API所需的参数。如我们所见,requests模块能够处理更复杂的身份验证机制,涉及密钥和令牌,而不仅仅是用户名和密码机制。

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.codebaoku.com
# Date : 2020-08-25
import requests
from requests_oauthlib import OAuth1
url = 'https://api.twitter.com/1.1/account/verify_credentials.json'
auth = OAuth1('YOUR_APP_KEY', 'YOUR_APP_SECRET',
              'USER_OAUTH_TOKEN', 'USER_OAUTH_TOKEN_SECRET')
requests.get(url, auth=auth)

执行上面示例代码,得到以下结果:

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.codebaoku.com
# Date : 2020-08-25
{
  "errors": [
    {
      "code": 215,
      "message": "Bad Authentication data."
    }
  ]
}

可以使用处理ftp或文件传输协议的python模块从serer下载数据。还可以读取数据,然后将其保存到本地系统。需要安装模块ftplib来实现此目的。 # Filename : example.py# Cop ...