前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python HTTP请求--reque

python HTTP请求--reque

作者头像
py3study
发布2020-01-09 10:50:43
6630
发布2020-01-09 10:50:43
举报
文章被收录于专栏:python3

python中你用什么库发送HTTP请求呢,urllib,urllib2? 下面介绍一个更简单的:requests。 使用requests,可以简洁高效的发送HTTP请求。

1.安装

###直接使用pip安装

代码语言:javascript
复制
$ pip install requests

如果没有安装pip,首先

代码语言:javascript
复制
$ easy_install pip

安装成功,得到提示:

Installing collected packages: requests Successfully installed requests-2.14.2 …

###使用源码安装: 获取源码

代码语言:javascript
复制
$ git clone git://github.com/kennethreitz/requests.git

进入源码根目录,执行如下命令进行安装:

代码语言:javascript
复制
$ python setup.py install

2.GET请求

使用方法

代码语言:javascript
复制
r = requests.get(....)

返回结果在r中,例如r.content 返回内容,r.status_code返回状态码。

###2.1不带参数

代码语言:javascript
复制
#!/usr/bin/python

import requests

url="http://my.os/notification/charm/"

r = requests.get(url)
print r.status_code
print r.content

####2.2带参数

代码语言:javascript
复制
#!/usr/bin/python

import requests


url="http://my.os/notification/charm/"

payload={'message': "Opportunities and challenges together"}
r = requests.get(url, params=payload)

print r.status_code
print r.content

###2.3定制请求头

例如,添加认证信息

代码语言:javascript
复制
#!/usr/bin/python

import requests

url="http://my.os/notification/charm/"

headers={'Authorization': 'token 52ee7d4c57686ca8d6884fa4c482a28'}
payload={'message': "Opportunities and challenges together"}
r = requests.get(url, headers=headers, params=payload)

print r.status_code
print r.content

备注: 关于token认证格式,不同应用的格式可能略有不同,需要根据实际服务端的要求调整。 例如,下面3中格式:

Authorization’: ‘token 52ee7d4c57686ca8d6884fa4c482a28’ Authorization’: ‘access_token 52ee7d4c57686ca8d6884fa4c482a28’ Authorization’: ‘52ee7d4c57686ca8d6884fa4c482a28’

3.发起POST请求

使用方法

代码语言:javascript
复制
r = requests.post(...)

r中包含结果r.content, 状态码r.status_code

###简单请求

代码语言:javascript
复制
#!/usr/bin/python

import requests

url="http://my.os/api/notification/charm/"

payload={'message': "Opportunities and challenges together"}

r = requests.post(url, data=payload)

print r.status_code
print r.content

###定制请求头

例如,添加认证信息

代码语言:javascript
复制
#!/usr/bin/python

import requests


url="http://my.os/api/notification/charm/"

headers={'Authorization': 'token 52ee7d4c57686ca8d6884fa4c482a28'}
payload={'message': "Opportunities and challenges together"}

r = requests.post(url, headers=headers, data=payload)

print r.status_code
print r.content

参考

http://docs.python-requests.org/zh_CN/latest/user/quickstart.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/08/24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.安装
  • 2.GET请求
  • 3.发起POST请求
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档