Month: July 2024

Yii2.0中的COOKIE和SESSION用法

Yii2的Cookie主要是通过yii/web/Request和yii/web/Response进行操作的,Yii2的Session比较简单 ,直接通过/Yii::$app->session进行操作就好了。本文给大家介绍COOKIE和SESSION用法,需要的朋友参考下 1、Cookie Yii2的Cookie主要是通过yii/web/Request和yii/web/Response进行操作的 ,通过/Yii::$app->response->getCookies()->add()添加Cookie,通过/Yii::$app->request->cookies读取Cookie. 1)添加一个Cookie 2) 读取一个Cookie 3) 删除Cookie 4) 注意 对Cookie进行增删改时调用的response , 对Cookie读取时使用的是Request 2、Session Yii2的Session比较简单 ,直接通过/Yii::$app->session进行操作就好了 1) 添加一个session 2) 读取一个session 3) 删除Session

blueidea

2024全网最全requests库和requests模块使用详解

一、requests简介 简介:使用requests可以模拟浏览器的请求,比起之前用的urllib,requests模块的api更加便捷(本质就是封装了urllib3) 注意:requests库发送请求将网页内容下载下来以后,并不会执行js代码,这需要我们自己分析目标站点然后发起新的request请求 安装:pip3 install requests 各种请求方式:常用的就是requests.get()和requests.post() 如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386 【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili​www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337.search-card.all.click 二 、基于requests之GET请求 1、基本请求 2、带参数的GET请求->params 在请求头内将自己伪装成浏览器,否则百度不会正常返回页面内容 如果查询关键词是中文或者有其他特殊符号,则不得不进行url编码 上述操作可以用requests模块的一个params参数搞定,本质还是调用urlencode 3、带参数的GET请求->headers 通常我们在发送请求时都需要带上请求头,请求头是将自身伪装成浏览器的关键,常见的有用的请求头如下 添加headers(浏览器会识别请求头,不加可能会被拒绝访问,比如访问 https://www.zhihu.com/explore) 4、带参数的GET请求->cookies 登录github,然后从浏览器中获取cookies,以后就可以直接拿着cookie登录了,无需输入用户名密码 三、基于POST请求 GET请求 HTTP默认的请求方法就是GET 1.没有请求体 2.数据必须在1K之内 3.GET请求数据会暴露在浏览器的地址栏中 GET请求常用的操作: 1. 在浏览器的地址栏中直接给出URL,那么就一定是GET请求 2. 点击页面上的超链接也一定是GET请求 3. 提交表单时,表单默认使用GET请求,但可以设置为POST POST请求 1.数据不会出现在地址栏中 2.数据的大小没有上限 3.有请求体 4.请求体中如果存在中文,会使用URL编码! #!!!requests.post()用法与requests.get()完全一致,特殊的是requests.post()有一个data参数,用来存放请求体数据 2、发送POST请求,模拟浏览器的登录行为 […]

blueidea

python requests最全使用指南

前言 Requests 是一个 Python 的一个第三方库,通过发送 HTTP 请求获取响应数据,一般应用于编写网络爬虫和接口测试等。 相比 urllib 库,它语法简单,更容易上手。 官方中文文档地址:Requests: 让 HTTP 服务人类 离线文档下载地址:Requests document download 安装 Reuqests pip install requests HTTP 简介 在使用 requests 模拟发送网络请求之前,先来简单学习一下HTTP和常见的请求方式。 什么是 HTTP HTTP(HyperText Transfer Protocol ,超文本传输协议)是一个简单的请求/响应协议。即一个客户端与服务器建立连接后,向服务器发送一个请求;服务器接到请求后,给予相应的响应信息。 HTTP工作原理 1.客户端与服务器端建立连接 2.客户端向服务器端发起请求 3.服务器接受请求,并根据请求返回相应的内容 4.客服端与服务器端连接关闭 客户端和服务器端之间的HTTP连接是一种一次性连接,它限制每次连接只处理一个请求,当服务器返回本次请求的应答后便立即关闭,下次请求再重新建立连接。这样做的好处就是让服务器不会处于一个一直等待的状态,及时释放连接可极大提高服务器的执行效率。 HTTP是一种无状态协议,意思就是服务器不保留与客户端连接时的任何状态。这减轻了服务器的记忆负担,从而保持较快的响应速度。 HTTP的9种请求方法 每种请求方式规定了客户端和服务器端之间不同的信息交换方式。 […]

blueidea

解决cURL error 60: SSL certificate problem

今天在做本地环境开发阿里云短信验证时报错:cURL error 60: SSL certificate problem: unable to get local issuer certificate (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) 解决办法 进入:https://curl.se/docs/caextract.html 下载最新版Cacert.pem复制这个文件到php的安装目录下,如下图所示 打开php.ini文件,搜索curl.cainfo 去掉前面的#注释 填上该文件的绝对路径,如下图所示:  *注意:如果按照上面这个方式还报错的可能就是openssl没有开启,php的openssl扩展需要开启 

blueidea

调用Yii::getAlias与Yii::setAlias的用法

别名用来表示文件路径和URL,简化引用,避免在代码中编码一些绝对路径和URL。一个别名必须以‘@’字符开头,以区别于传统的文件路径和URL。定义别名:调用Yii::setAlias()给文件路径或URL定义别名:// 文件路径的别名Yii::setAlias(‘@foo’, ‘/path/to/foo’);// URL 的别名Yii::setAlias(‘@bar’, ‘http://www.example.com’);注意:别名所指向的文件路径或 URL 不一定是真实存在的文件或资源。可以通过在一个别名后面加斜杠 / 和一至多个路径分段生成新别名(无需调用 Yii::setAlias())。我们把通过 Yii::setAlias() 定义的别名称为根别名,而用他们衍生出去的别名成为衍生别名。例如,@foo 就是根别名,而 @foo/bar/file.php 是一个衍生别名。你还可以用别名去定义新别名(根别名与衍生别名均可):Yii::setAlias(‘@foobar’, ‘@foo/bar’);解析别名:调用Yii::getAlias解析别名到对应的文件路径或URL:如// echo Yii::getAlias(‘@webroot’); // D:/path/yiibasic/web// echo Yii::getAlias(‘@app’); // D:\path\yiibasic// echo Yii::getAlias(‘@web’); // /yiibasic/web注意:Yii::getAlias() 并不检查结果路径/URL 所指向的资源是否真实存在。系统定义的路径别名:@yii – BaseYii.php 文件所在的目录(也被称为框架安装目录)@app – 当前运行的应用程序的基本路径 yii\base\Application::basePath@common – 公共文件目录@frontend – 前端web应用程序目录@backend – 后端web应用程序目录@console – 控制台目录@runtime – 当前运行的应用的 yii\base\Application::runtimePath@vendor – yii\base\Application::vendorPath@webroot – 当前运行应用的 Web 入口目录@web – 当前运行应用的根 URL

blueidea