使用requests库实现http请求
1.发送请求
import requests
url = 'http://www.tipdm.com/tipdm/index.html'
rqq = requests.get(url)
In [ ]:
print('响应码:', rqq.status_code)
print('编码:', rqq.encoding)
print('请求头:', rqq.headers)
# print('实体:', rqq.text)
print('实体:', rqq.content)
In [ ]:
print('实体:', rqq.text[:40])
print('实体:', rqq.content[:40])
2.设置编码
In [ ]:
import requests
url = 'http://www.tipdm.com/tipdm/index.html'
rqq = requests.get(url)
rqq.encoding = 'utf-8'
print('实体:', rqq.text)
In [ ]:
print('实体:', rqq.content.decode('utf-8'))
3.自适应编码设置
In [ ]:
import chardet
#chardet库使用detect方法检测给定字符串的编码
chardet.detect(rqq.content)
4.防止连接不稳定
In [ ]:
import requests
url = 'http://www.tipdm.com/tipdm/index.html'
head = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'}
'''
为避免因等待服务器响应造成程序永久失去响应,通常需要给程序设置一个时间作为
限制,超过该时间后程序将会自动停止等待。在requests库中通过设置timeout
这个参数实现,超过该参数设定的秒数后,程序会停止等待
'''
rqq = requests.get(url, headers=head, timeout=2.)
rqq.headers
5.完整实例
In [ ]:
import requests
import chardet
url = 'http://www.tipdm.com/tipdm/index.html'
head = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'}
rqq = requests.get(url, headers=head, timeout=2.0)
# rqq.encoding = 'utf-8'
rqq.encoding = chardet.detect(rqq.content)['encoding']
rqq.text
6.参考文章
【创作不易,望点赞收藏,若有疑问,请留言,谢谢】
使用requests库实现http请求的更多相关文章
- requests库的post请求
requests库的post请求 #coding:utf-8 import requests import json class Trans(object): def __init__(self, w ...
- 『居善地』接口测试 — 4、Requests库发送GET请求
目录 1.使用Requests库发送带参数的GET请求 2.查看GET请求的内容 3.带请求头.参数的Get请求 Requests库GET请求是使用HTTP协议中的GET请求方式对目标网站发起请求. ...
- 『居善地』接口测试 — 5、使用Requests库发送POST请求
目录 1.请求正文是application/x-www-form-urlencoded 2.请求正文是raw (1)json格式文本(application/json) (2)xml格式文本(text ...
- python利用requests库模拟post请求时json的使用
我们都见识过requests库在静态网页的爬取上展现的威力,我们日常见得最多的为get和post请求,他们最大的区别在于安全性上: 1.GET是通过URL方式请求,可以直接看到,明文传输. 2.POS ...
- 4.爬虫 requests库讲解 GET请求 POST请求 响应
requests库相比于urllib库更好用!!! 0.各种请求方式 import requests requests.post('http://httpbin.org/post') requests ...
- 用python的Requests库模拟http请求
一.先了解几个重要的http请求头或响应头信息 Request Headers: Host: 描述请求将被发送的目的地,包括,且仅仅包括域名和端口号. Origin: 说明请求从哪里发起的,包括,且仅 ...
- python爬虫(八) requests库之 get请求
requests库比urllib库更加方便,包含了很多功能. 1.在使用之前需要先安装pip,在pycharm中打开: 写入pip install requests命令,即可下载 在github中有关 ...
- 【python接口自动化】- 使用requests库发送http请求
前言:什么是Requests ?Requests 是⽤Python语⾔编写,基于urllib,采⽤Apache2 Licensed开源协议的 HTTP 库.它⽐ urllib 更加⽅便,可以节约我们⼤ ...
- requests库入门08-delete请求
还是使用GitHub的接口,之前我们新增了邮箱,这次使用delete请求来删除邮箱,接口文档地址 import requests test_url = 'https://api.github.com' ...
- requests库入门07-patch请求
使用data参数提交 设置邮件能见度,这个接口用来设置邮件是公共可见,还是私有的 import requests test_url = 'https://api.github.com' def get ...
随机推荐
- Splashtop用于远程实验室的功能得到增强
加利福尼亚州圣何塞,2020年8月11日,远程访问和远程支持解决方案的领导者Splashtop Inc. 宣布更新其 Splashtop for Remote Labs 产品.该产品旨在帮助学生通 ...
- Java面试题:线程池内“闹情绪”的线程,怎么办?
在Java中,线程池中工作线程出现异常的时候,默认会把异常往外抛,同时这个工作线程会因为异常而销毁,我们需要自己去处理对应的异常,异常处理的方法有几种: 在传递的任务中去处理异常,对于每个提交到线程池 ...
- C语言:如何打印星星
//打印星星 //k是两个上下部分都一样的空格 /*i j k k ...
- java学习之旅(day.04)
运算符 算术运算符:+ ,- ,* ,/,%(取余或模运算), ++(自增),-- (自减) 赋值运算符:= 关系运算符:>, <,>=, <=, ==, !=(不等于),in ...
- 关于Nacos身份认证绕过漏洞默认密钥和JWT的研究
前言 由于本人的一个习惯,每次遇到漏洞并复现后都要编写poc,以便下一次的直接利用与复测使用.研究Nacos默认密钥和JWT的爱恨情仇的过程中遇到了莫名其妙的问题,在此做以记录,方便日后有大佬遇到相同 ...
- 文字转语音 - 搭建微软tts整合web服务提供api接口(免费)
微软tts是业界公认文字转语音效果最佳本文使用docker搭建微软tts服务并提供api接口对外提供服务对接官方免费在线体验接口,搭建后可免费进行调用使用,不保证永久稳定可用 调用方式url:http ...
- iOS MonkeyDev 尝试体验(非越狱开发)
一.前言 随着iOS系统的逐渐开放,iOS越狱需求的人越来越少,那么在非越狱系统上面开发越狱插件那将是一个不错的选择,在github上面发现一个开源的Xcode工程模板. 整合了越狱开发的工具.重签名 ...
- GCD Timer事件的精度
一.测试环境 iPhoneX 真机+Debug模式,Timer代码工作在主线程,主线程空闲不阻塞 在子线程统计每3秒tick计数,逐步减小inteval,看能达到多大精度. 忽略原子计数值操作的影响 ...
- 电脑网卡把报文的vlan tag去掉
1 现象 现象说明:从电脑的网卡(用的Realtek)进来一个带vlan tag的报文,但是使用wireshark抓取的报文没有vlan tag. 解决方式如下:需要注册表. 参考链接1:https: ...
- .NET C#程序启动闪退,在安装或者程序文件下能正常运行,但通过路径却无法运行
.NET C#程序启动闪退,目录导致的问题 这是第2次踩这个坑了,很小的编程细节,容易忽略,所以写个博客,分享给大家. 1.第一次坑:是windows 系统把程序运行成服务,找不到配置文件,原因是以服 ...