requests包安装
py -3 -m pip install requests
py -3 -m pip list
py -3 -m pip show requests
http协议:
客户端(浏览器、使用cmd):发送请求包---->>网站服务器返回给客户端服务器一个响应包
请求包:
首部:header(可以为空)
主体:body(可以为空)
响应包:
首部:header(可以为空)
主体:body(可以为空)
get和post的区别:
- Get是不安全的,因为在传输过程,数据被放在请求的URL中;Post的所有操作对用户来说都是不可见的。
- Get传送的数据量较小,这主要是因为受URL长度限制;Post传送的数据量较大,一般被默认为不受限制。
- Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。
- Get执行效率却比Post方法好。Get是form提交的默认方法。
- Get是幂等的,post不是幂等的。(幂等:多次提交的数据对服务器的数据状态是没有任何影响的)
get
post
delete:删除数据
put:修改数据
options:服务器端支持哪些http的方法给我返回一下
head:只返回请求的头信息
http各种方法的请求方法:
#GET请求,通常用于获取数据,从服务器上拿数据,也可以存数据
requests.get('https://github.com')
#POST请求
requests.post('http://httpbin.org/post')
#PUT请求
requests.put('http://httpbin.org/put')
#DELETE请求
requests.delete('http://httpbin.org/delete')
#HEAD请求
requests.head('http://httpbin.org/get')
#OPTIONS请求
requests.options('http://httpbin.org/get')
>>> import requests
>>> c
>>> r.url
'https://github.com/Ranxf'
>>> r.text[:20]
'\n\n<!DOCTYPE html>\n<h'
>>>
>>>> r.headers
{
'Date': 'Sun, 09 Feb 2020 10:41:48 GMT', 'Content-Type': 'text/html; charset=ut
f-8', 'Transfer-Encoding': 'chunked', 'Server': 'GitHub.com', 'Status': '200 OK'
, 'Vary': 'X-Requested-With, Accept-Encoding, Accept, Accept-Encoding', 'ETag':
'W/"5ad38663c15caa9cfcf463fe19cccf4c"', 'Cache-Control': 'max-age=0, private, mu
st-revalidate', 'Set-Cookie': '_octo=GH1.1.1687964200.1581244908; domain=.github
.com; path=/; expires=Tue, 09 Feb 2021 10:41:48 -0000, logged_in=no; domain=.git
hub.com; path=/; expires=Tue, 09 Feb 2021 10:41:48 -0000; secure; HttpOnly, _gh_
sess=cnhKK2w2bVJsWW9HUVNidE5ZK0FwN0NleTlaZW9UekNyVU1Qb25WcjdVWVRRYnhiT0hzVGZBYVp
wU0JSb1dYREg1eWNLVk5ZbTRLdEVzSml1MUI0VmJEcjJLbWFUZ1l4LzBmR0owK1ZaUm9KZHZQRUVJdko
1OVo4ZDlOQ1g1V3YrVGtmdDEwUFB2b2s2WUMyK3Y3U1hnPT0tLU9Bd2RLdDRhaGErL0VNZmdxWS8yOHc
9PQ%3D%3D--130089f14b4931a02776950c580e10c7545d2a6b