Python requests库
Python requests是python的一个HTTP客户端库,可以使用requests库提供的方法对http协议进行请求。 requests安装: Pip install requests 也可以下载安装包进行安装。 Python setup.py install Requests 方法: 发送get请求的方法,语法格式 get(url, params=None, **kwargs) Url:请求的url地址 Params:(可选)字典,要发送的元组或字节列表的参数 发送options请求的方法,语法格式: options(url, **kwargs) Url:请求的url地址 发送head请求的方式,语法格式: head(url, **kwargs) Url:请求的url地址 发送post请求的方法,语法格式: post(url, headers=None,data=None, json=None, **kwargs) Url:请求的url地址 Headers:请求的头部信息 Data:可发送参数数据(可选),字典、元组列表,字节或类文件 Json:可发送以json格式的参数数据 发送put请求的方法,语法格式: put(url, data=None, **kwargs) Url:请求的url地址 Data:可发送以字典,元组列表,字节或类文件的参数 发送patch请求的方法,语法格式: patch(url, data=None, **kwargs) Url:请求的url地址 Data:可发送以字典,元组列表,字节或类文件的参数 发送delete请求的方法,语法格式: delete(url, **kwargs) Url:请求的url地址 请求响应的属性: 1、content:返回请求的(html)页面内容。 2、status_code:返回请求的状态码,如200,404,500 3、headers:返回头部信息,如下: {'Content-Length': '4591', 'X-Powered-By': 'PHP/5.4.7', 'Set-Cookie': 'pO5_sid=XVJfCz; expires=Sun, 20-Jan-2019 06:25:45 GMT; path=/; httponly', 'Keep-Alive': 'timeout=5, max=100', 'Server': 'Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7', 'Connection': 'Keep-Alive', 'Date': 'Sun, 13 Jan 2019 06:25:45 GMT', 'Content-Type': 'text/html'} 4、url:返回请求的url地址。 5、encoding:返回支持的编码类型ISO-8859-1 6、reason:返回状态,如(成功:ok,找不到页面:not found) 7、cookies:返回cookie信息,以字典的形式 8、elapsed:请求消耗的时间。如:0:00:01.075466 9、text:请求响应的数据,与content内容相似。 下面取最常用的两个方法get、post方法进行演示。 Get请求: url='http://localhost:8090/test/logging.php response=requests.get(url) print response 运行结果: <Response [200]> [Finished in 1.5s] Post请求: url='http://localhost:8090/test/logging.php?action=login&loginsubmit=yes&floatlogin=yes&inajax=1' loginParam={ "formhash":"1f3a2bb2", "referer":"http://localhost:8090/discuz/", "loginfield":"username", "username":"A12345", "password":"123456", "questionid":"0", "answer":"" } response=requests.post(url=url,data=loginParam) print response.text 运行结果: <?xml version="1.0" encoding="utf-8"?><root><![CDATA[<script type="text/javascript" reload="1"> display('main_messaqge'); display('layer_login'); display('layer_message'); $('messageleft').innerHTML = '<p>欢迎您回来 新手上路 A12345</p>'; $('messageright').innerHTML = '<a href="javascript:;" onclick="location.reload()">如果页面没有响应,请点这里刷新</a>'; setTimeout('location.reload()', 3000); </script> </div></div> </div> ]]></root> [Finished in 2.6s]