下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Requests基础测试题(含详细答案解析)适用人群:Python爬虫、接口测试初学者考试时长:40分钟满分:100分说明:试题全部基于requests常用实操场景,无偏题怪题,贴合日常开发、接口测试、爬虫使用场景一、单项选择题(每题3分,共30分)1.Python中发送HTTP请求最常用的第三方库是?()A.urllibB.requestsC.socketD.http.client2.下列请求方式中,一般用于获取、查询服务器数据,且参数暴露在地址栏的是?()A.POSTB.GETC.PUTD.DELETE3.使用requests发送GET请求的正确方法是?()A.requests.get()B.requests.GE()C.requests.fetch()D.requests.urlget()4.想要模拟浏览器访问,伪装请求头,需要在请求中添加哪个参数?()A.dataB.headersC.paramsD.cookies5.发送POST表单请求(form表单数据),需要使用哪个参数传参?()A.jsonB.paramsC.dataD.body6.接口返回JSON格式数据,想要直接转为Python字典/列表,使用哪个方法?()A.res.textB.res.json()C.res.contentD.res.encode()7.想要设置请求超时时间,避免程序卡死,需要用到哪个参数?()A.sleepB.timeoutC.delayD.wait8.响应状态码200代表的含义是?()A.请求成功B.页面不存在C.服务器错误D.权限不足9.状态码404表示?()A.服务器内部错误B.请求资源不存在C.登录过期D.请求被拦截10.需要在请求中携带登录cookie保持会话,需要用到哪个参数?()A.headerB.sessionC.cookiesD.token二、填空题(每题4分,共20分)1.安装requests库的终端命令是____________。2.GET请求拼接URL携带参数时,可以不用手动拼接字符串,直接使用____________参数自动拼接。3.获取响应的纯文本字符串内容,使用____________;获取二进制字节内容(图片、视频、文件)使用____________。4.发送JSON格式的POST请求,需要使用____________参数传递字典数据。5.requests.Session()的核心作用是____________。三、简答题(每题10分,共20分)1.简述GET和POST请求的核心区别(日常实操层面,不用背诵理论原文)。2.为什么爬虫/接口请求中必须加headers伪装浏览器?不加会出现什么问题?四、实操编程题(每题15分,共30分)1.编写完整代码:使用GET请求访问百度首页,设置超时时间5秒,打印响应状态码和网页文本内容。2.编写完整代码:模拟登录接口,发送POST请求,请求头携带User-Agent,以JSON格式传递账号、密码参数,打印返回的JSON数据。(自定义测试接口即可)参考答案及详细解析一、单项选择题答案1.B解析:requests是Python第三方专用请求库,语法简洁、功能强大,是爬虫和接口测试首选;urllib是内置库,语法繁琐,使用率极低。2.B解析:GET用于查询数据,参数拼接在URL中,公开可见;POST用于提交数据,参数放在请求体中。3.A解析:requests固定方法:get()、post()、put()、delete(),无其他自定义拼写方法。4.B解析:headers用于设置请求头,常用User-Agent、Referer、Cookie等,用于伪装浏览器请求。5.C解析:data参数对应form表单提交;json参数对应json格式提交,二者不能混用。6.B解析:res.json()会自动解析接口返回的json字符串,转为Python字典或列表,方便取值;text返回原始字符串,content返回二进制数据。7.B解析:timeout单位为秒,设置后若请求超时会直接抛出异常,防止程序一直阻塞卡死。8.A解析:2xx开头状态码均为请求成功,200是最通用的成功状态码。9.B解析:4xx为客户端错误,404代表请求的网址、资源不存在或路径错误;5xx为服务器错误。10.C解析:cookies参数可手动携带登录凭证;Session是保持会话自动携带cookie,题目为单项参数选择,选cookies。二、填空题答案1.pipinstallrequests2.params3.response.text;response.content4.json5.自动保存并携带会话cookie,实现多次请求保持登录状态,不用手动携带cookie三、简答题答案1.GET和POST核心区别(1)传参方式不同:GET参数拼在URL地址栏,POST参数放在请求体里;(2)数据大小不同:GET有URL长度限制,不能传大数据;POST可以传递图片、文件、长文本等数据;(3)安全性不同:GET参数公开可见,容易泄露;POST参数隐藏,相对更安全;(4)使用场景不同:查数据用GET,提交、修改、上传数据用POST。2.加headers伪装浏览器的原因服务器会校验请求头中的User-Agent,用来判断请求来源。如果不加headers,默认请求头会显示为python-requests,服务器可以直接识别出是程序爬虫/脚本请求。不加的后果:大概率被服务器拦截、拒绝访问,返回403禁止访问、页面空白、接口无数据等问题,导致请求失败。四、实操编程题答案1.访问百度首页代码python
importrequests
#发送GET请求,设置超时5秒
res=requests.get("",timeout=5)
#打印状态码
print("响应状态码:",res.status_code)
#打印网页文本
print("网页内容:",res.text)2.JSON格式POST请求代码python
importrequests
#自定义请求头
headers={
"User-Agent":"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36"
}
#接口地址(测试接口)
url="/post"
#账号密码参数
data={
"username":"test001",
"password":"123456"
}
#发送post请求,json传参
res=requests.post(url,headers=headers,json=data)
#打印解析后的json
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大健康产业服务模式创新与市场拓展策略研究报告
- 互联网企业客户管理规范手册
- (正式版)DB14∕T 646-2011 《油松种子园营建技术规程》
- 员工培训计划通知函4篇
- 山东省邹平市2027届中考五模物理试题含解析
- 2026年高压电工考试题库及答案
- 2026年井下司钻作业模拟考试题库试卷及答案
- 项目预算超支审批流程说明通知函6篇
- 机修钳工技师简答题及答案
- 关于物流风险的评估函(8篇)范文
- 2026 银行秋招 EPI 真题试卷及答案
- 2026小学生科普常识知识竞赛题及答案
- 2026年名著长征试题(附答案)
- 4.多位数乘两位数(进位)教学设计2026-2027学年人教版四年级上册数学
- 2026年永州职业技术学院单招职业技能考试题库及答案
- 解除专业分包合同协议
- 2026年招聘消防文员笔试题库附答案
- 急诊科诊疗指南及操作规范(2025版)
- QC/T 1238-2025燃料电池发动机用空气滤清器
- 雨课堂学堂在线学堂云《高等工程热力学(北京理工)》单元测试考核答案
- 2026年克拉玛依职业技术学院单招职业技能测试题库有答案详解
评论
0/150
提交评论