目前主要写工作中遇到的,如果后续有其他用法,会增加上去。
进入命令行win+R执行
命令:pip install requests
项目导入:import requests
import requests
res1 = requests.post('http://httpbin.org/post')
print(res1.text)
res2 = requests.put('http://httpbin.org/put')
print(res2.text)
res3 = requests.delete('http://httpbin.org/delete')
print(res3.text)
res4 = requests.head('http://httpbin.org/get')
print(res4.text)
res5 = requests.options('http://httpbin.org/get')
print(res5.text)说明:
GET: 请求指定的页面信息,并返回实体主体。
HEAD: 只请求页面的首部。
POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体。
PUT: 从客户端向服务器传送的数据取代指定的文档的内容。
DELETE: 请求服务器删除指定的页面。
get 和 post比较常见 GET请求将提交的数据放置在HTTP请求协议头中
POST提交的数据则放在实体数据中
两种 HTTP 请求方法:GET 和 POST
在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。
GET - 从指定的资源请求数据。
POST - 向指定的资源提交要被处理的数据
最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。
import requests
res1 = requests.get('http://httpbin.org/get')
print(res1.text)结果:
import requests
res1 = requests.get('http://httpbin.org/get')
print(res1.text)
import requests
#将name和age传进去
res1 = requests.get('http://httpbin.org/get?name=germey&age=22')
print(res1.text)
#使用params的方法
data = {
'name': 'germey',
'age':22
}
res1 = requests.get('http://httpbin.org/get', params=data)
print(res1.text)结果:
{
"args": {
"age": "22",
"name": "germey"
},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.23.0",
"X-Amzn-Trace-Id": "Root=1-5ed4ad86-2274b89bf2c68cfa0e4dbd57"
},
"origin": "121.225.15.128",
"url": "http://httpbin.org/get?name=germey&age=22"
}import requests
import json
response = requests.get("http://httpbin.org/get")
print(type(response.text))
print(response.json())
print(json.loads(response.text))
print(type(response.json()))结果:
{'args': {}, 'headers': {'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate', 'Host': 'httpbin.org', 'User-Agent': 'python-requests/2.23.0', 'X-Amzn-Trace-Id': 'Root=1-5ed4affa-527fedf72dc7097776cb426b'}, 'origin': '121.225.15.128', 'url': 'http://httpbin.org/get'}
{'args': {}, 'headers': {'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate', 'Host': 'httpbin.org', 'User-Agent': 'python-requests/2.23.0', 'X-Amzn-Trace-Id': 'Root=1-5ed4affa-527fedf72dc7097776cb426b'}, 'origin': '121.225.15.128', 'url': 'http://httpbin.org/get'}
import requests
response = requests.get("https://github.com/favicon.ico")
print(type(response.text), type(response.content))
print(response.text)
print(response.content)结果:
有些网站访问时必须带有浏览器等信息,如果不传入headers就会报错,如下:
import requests
response = requests.get("https://www.zhihu.com/explore")
print(response.text)结果:
400 Bad Request
400 Bad Request
openresty