首页
学习
活动
专区
圈层
工具
发布

Ajax笔记(3)-axios

设置请求头 我们写一个请求头的配置: 现在我们学习ajax提交表单 什么是表单 表单在网页中主要负责数据采集功能,HTML中的标签,就是用来采集用户输入的信息,并通过...>标签的属性则是用来规定如何把采集到的数据发送到服务器 action action属性的值应是后端提供的一个URL地址,这个URL地址专门负责接收表单提交过来的数据,当form表单在未指定action...编码与解码 URL地址中,只允许出现英文相关的字母,标点符号,数字,因此,在URL地址中不允许出现中文字符.如果URL中需要包含中文这样的字符,则必须对中文字符进行编码(转义) URL编码的原则...,例如: 无法读取非同源网页的cookie,localStorage和indexedDB 无法解除非同源网页的DOM 无法向非同源地址发送ajax请求 跨域 什么是跨域 两个URL的协议,域名,...和CORS JSONP: 出现的早,可以兼容低版本浏览器,缺点是只支持GET请求,不支持POST请求 CORS: 出现的晚,支持GET和POST请求,缺点是不兼容低版本浏览器(后面学习) JSONP

1.1K20

接口测试其实没有那么高大上

序章   说起接口测试,网上有很多例子,但是当初做为新手的我来说,看了不不知道他们说的什么,觉得接口测试,好高大上。认为学会了接口测试就能屌丝逆袭,走上人生巅峰,迎娶白富美。...一个用户接口可以通过以下4种不同方式的请求,来做不同的事情:   获取用户信息   创建用户   修改用户   删除用户   你完全可以像“灯”的那个例子,用GET请求来传递不同的参数来实现,但是这样如果接口多了...只用来修改数据,成功了返回http状态码203   当用“DELETE”方式时,只用来删除数据,成功了返回http状态码204   当请求发送失败,返回http状态码400   这样子的规则,我们称它为...拿到接口的url地址   查看接口是用什么方式发送   添加请求头,请求体   发送查看返回结果,校验返回结果是否正确   这个是正常的一套流程,异常的情况,就不用我多说来吧。...我自己设计的用例是这样的:   一个模块对应一个Excel表   一条接口对应一张sheet表   表中一行对应一条测试用例   在开始要注明测试时需要的sql,如下图开始我会创建用户,用完了我会删除。

67430
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    快来看,敖丙还不会curl

    不知道大家在平时有没有用过curl,之前我是没怎么用的,最近也开始用起来了。 curl应该还算是一个比较常见的东西吧?...我们不是所有的环境都有POSTMAN和IDEA的,比如说我们的Centos系统 。此时我们又想要发出网络请求,我们就可以通过curl去帮我们做。...我现在把系统常用的接口的请求给写到一个文档上,想要执行哪个接口,检索出来,在命令行执行一下就好了,还是非常方便的。(我命令行窗口会一直常开,几乎不用开POSTMAN了) ?...响应头的信息还不够,我现在请求头和响应头都想看: curl -v www.baidu.com ? OK,现在我们热身完了。我们平时可能会发个GET请求,然后把参数带给接口的吧?在curl里怎么做呢?...发完GET,我们有的时候也会使用POST请求,怎么做呢?

    76930

    动图详解利用 User-Agent 进行反爬虫的原理和绕过方法!

    但是在平时的交流中,笔者发现大多数的初级爬虫工程师只会拿着网上别人写的技术文章唾沫横飞,除了知道在请求的时候伪造浏览器请求头信息中的 User-Agent 以外,对于: 为什么要这么做?...这么做有什么好处? 我可以用别的方法实现么? 它的原理是怎么样的? 它是如何识别我的爬虫的? 我应该用什么方式绕过它? 一无所知。...作者心声 我也在尝试着,能够将这样的知识分享出来,让大家在闲暇之余能够通过这篇文章学习到反爬虫知识中比较简单的反爬虫原理和实现方法,再熟悉他的绕过操作。...而爬虫却不是这样的,爬虫生来就是为了获取网络上的内容并将其转化为数据。这是两种截然不同的方式,你也可以理解为通过编写代码来大规模的、自动化的获取内容数据,这是一种骚操作。 ?...Curl 这是一个利用URL语法在命令行下工作的传输工具,它不仅支持 url 地址访问还支持文件上传和下载,所以可以称它为综合传输工具。

    3.5K22

    回调函数Callback —从同步思维切换到异步思维

    ('url') parse(html) 这是一种非常常见的直线性思维,我先请求网站拿到 html,然后我再把 html 传给负责处理的函数。...在整个过程中,“我“担任着调度的角色。...然后让get()函数异步。 这样做确实能够解决问题,但是大家如果仔细体会就会发现,在get()函数里面的代码写法,还是用的同步处理的思想。...既然要写异步代码,那么我们脑子里就要一直记住——很多个请求会同时发出,但是我们并不知道他们什么时候完成。与其让我们去等待它完成,然后再把完成结果传给另外一个函数。..._ == '__main__': asyncio.run(main()) 运行效果如下图所示: 这种写法,初看起来与用get()函数包装没什么区别,但是他们在思维方式上却完全不一样。

    1.1K40

    好 RESTful API 的设计原则

    有时候一个集合可以表达一个数据库表,而一个资源可以表达成里面的一行记录,但是这并不是常态。事实上,你的API应该尽可能通过抽象来分离数据与业务逻辑。...我之所以说“半个”的意思是PATCH这个动词非常类似于PUT,并且它们俩也常常被开发者绑定到同一个API上。 GET (选择):从服务器上获取一个具体的资源或者一个资源列表。...一般来说,GET请求可以被浏览器缓存(通常也是这样的)。例如,缓存请求头用于第二次用户的POST请求。HEAD请求是基于一个无响应体的GET请求,并且也可以被缓存的。...因为这些无谓的限制会导致第三方开发者不知道发生了什么。如果他们请求一个确切的集合并且要遍历结果,然而他们发现只拿到了100条数据。接下来他们就不得不去查找这个限制条件的出处。...还有OAuth1.0和xAuth同样适用这样的场景。无论你选择哪个方法,请确保它为多种不同语言/平台上的库提供了一些通用的并且设计良好文档,因为你的用户可能会使用这些语言和平台来编写客户端。

    1.3K20

    Callback ——从同步思维切换到异步思维

    ('url') parse(html) 这是一种非常常见的直线性思维,我先请求网站拿到 html,然后我再把 html 传给负责处理的函数。...在整个过程中,“我“担任着调度的角色。...然后让 get()函数异步。 这样做确实能够解决问题,但是大家如果仔细体会就会发现,在get()函数里面的代码写法,还是用的同步处理的思想。...既然要写异步代码,那么我们脑子里就要一直记住——很多个请求会同时发出,但是我们并不知道他们什么时候完成。与其让我们去等待它完成,然后再把完成结果传给另外一个函数。...这种写法,初看起来与用get()函数包装没什么区别,但是他们在思维方式上却完全不一样。 这种不一样,接下来的几篇文章会进一步演示。

    76020

    Web前端基础【4】--HTTP标准

    一:HTTP请求过程 HTTP协议采取的是请求响应模型:即客户端发起请求,服务器端回送。HTTP协议是一个无状态的协议,同一个客户端的这次请求与上次请求没有对应关系。...2:Bdpagetype: 我暂时这个不知道什么意思。 3:Bdqid:暂时不知道什么意思。 4:Bduserid:暂时不知道什么意思。...Session相当于程序在服务器上建立的一份客户档案,客户来访的时候只需要查询客户档案表就可以了。 五:HTTP请求方式: 如下图: 1 GET 请求指定的页面信息,并返回实体主体。...其中常用的请求方式是GET和POST: 1:GET方式: 向特定的资源发出请求。 2:POST 方式:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。...POST请求可能会导致新的资源的建立和/或已有资源的修改。 GET和POST的区别: 1:在客户端,get方式通过url提交数据,数据在url中可以看见;post方式,数据放置在实体区提交。

    1.1K70

    SQL 中如何使用 OpenAI ChatGPT API

    SQL 中的 ChatGPT — 先决条件 正如简介中提到的,我使用的是在Oracle Cl‍oud上配置的始终免费的Autonomous Database 21c实例上运行的 Oracle SQL 。...API 发出请求(作者提供的图片) 这不是最令人印象深刻的 GPT 响应,但它正在发挥作用。...该函数使用 Oracle 的dbms_cloud包向 OpenAI 的聊天完成端点发送 HTTP 请求。该send_request()过程需要以下参数: uri— 端点的 URL。..., '$' returning clob pretty) as response from dual; 这是我得到的回复: 图 3 — 通过 SQL 向 OpenAI API 发出请求(作者提供的图片...SQL 中的 OpenAI API 总结 没有多少人期望 SQL 成为对 OpenAI API 进行 HTTP 调用的可行选项。哎呀,许多新手并不知道 SQL 可以做的不仅仅是基本的数据操作。

    1.7K10

    翻译翻译什么 tmd 叫“可读”?RxJS实现“搜索”功能

    但是实际上的业务往往会远大于示例中的代码,按照上面的思路,最终会写成这种玩意儿: 一点不夸张。...=> Http.get(url)) .subscribe(data => render(data)); 让我们来一一解析它的 API: fromEvent fromEvent...用于将事件转换成 observable 序列(若还不理解什么是 observable 的同学,可以简单理解它为一个加强版本的 Promise); 总之,创建点击时间的 observable 都这样写:...(若还不理解什么是防抖的同学,可以将它理解为 LOL 中的回程,按下 B 键,隔了几秒,才会真正回城回血,如果一直按 B ,则一直不会回城); pluck 选择属性来发出; 比如: const source...即永远订阅最新的Observable; 那么:switchMap = map + switch ,示意如下: 结合理解,在本篇搜索示例中,即用 Http.get(url) 所得 data 值作为事件流的最新值

    91810

    Servlet第四篇【request对象常用方法、应用】

    比如:我现在有海贼王最新的资源,想要看海贼王的要在我的网页上看。现在别的网站的人看到我有海贼王的资源,想要把我的资源粘贴在他自己的网站上。这样我独家的资源就被一个CTRL+C和CTRL+V抢走了?...其他的人可以通过复制粘贴我的地址,放到它们的网页上 ? 这样我就划不来啦【我的广告你来没看呢!】。想要看我的资源,就必须经过我的首页点进去看。...如果我在浏览器直接输入地址【此时Referer是为null的】,我们来看看 ? 跳回到首页上,不能访问到海贼王资源 ? 再试试,如果别人粘贴了我的资源url,在它的网页上挂了一个网址呢。 ?...也就是说浏览器是不知道该跳转的动作,转发是对浏览器透明的。通过上面的转发时序图我们也可以发现,实现转发只是一次的http请求,一次转发中request和response对象都是同一个。...这是由浏览器进行的页面跳转实现重定向会发出两个http请求,**request域对象是无效的,因为它不是同一个request对象 用法不同 很多人都搞不清楚转发和重定向的时候,资源地址究竟怎么写。

    1.5K50

    我的第一个Python爬虫——谈心得

    大家好,又见面了,我是你们的朋友全栈君。 2018年3月27日,继开学以来,开了软件工程和信息系统设计,想来想去也没什么好的题目,干脆就想弄一个实用点的,于是产生了做“学生服务系统”想法。...相信各大高校应该都有本校APP或超级课程表之类的软件,在信息化的时代能快速收集/查询自己想要的咨询也是种很重要的能力,所以记下了这篇博客,用于总结我所学到的东西,以及用于记录我的第一个爬虫的初生。...七、后记 一、做爬虫所需要的基础 要做一只爬虫,首先就得知道他会干些什么,是怎样工作的。...:    GET:向服务器请求资源,请求以明文的方式传输,一般就在URL上能看到请求的参数    POST:从网页上提交表单,以报文的形式传输,请求资源    还有几种比较少见就不介绍了。...#用Session发出请求能自动处理Cookie等问题 page.headers = header #为所有请求设置头 page.get(School_login_url) #Get该地址建立连接

    1K20

    让我们来深入了解下 CSRF

    然后我在后端做一些验证,检查请求是否有带上 session,同时也验证这篇文章是否是当前用户发表的,都符合条件才删除文章。...CSRF 的防御就可以从这个方向思考,简单来说就是:「我要怎么挡掉从别的网站来的请求」 你仔细想想,CSRF 的请求跟使用者本人发出的请求有什么区别?...区别在于请求域名的不同,前者是从任意一个网站发出的,后者是从同一个网站发出的(这边假设你的 API 跟你的前端网站在同一个域名下) 检查 Referer 请求头里面会带一个叫做 referer 的属性,...因为攻击者并不知道 csrftoken 的值是什么,也猜不出来,所以自然就无法进行攻击了。 可是有另外一种状况,假设你的后端支持 cross origin 的 请求,会发生什么事呢?...意思就是你加上去之后,我们上面所讲的, , new XMLHttpRequest,只要是浏览器验证不是在同一个 site 底下发出的 请求,全部都不会带上这个 cookie

    45210

    外行人都能看懂的SpringCloud讲解

    但真正接触到"面向切面编程"的时候,发现原来就是如此啊,也没什么大不了的。只不过当时被它的名字给唬住了… 不知道各位在刚接触这些名字集群/分布式/微服务/SOA的时候,有没有被唬住了呢??...集群:同一个业务,部署在多个服务器上(不同的服务器运行同样的代码,干同一件事) 2.2什么是分布式 以下内容来源维基百科: 分布式系统是一组计算机,通过网络相互连接传递消息与通信后并协调它们的行为而形成的系统...举个例子: 3y跟女朋友去东站的东方宝泰逛街,但不知道东方宝泰有什么好玩的。于是就去物业搜了一下东方宝泰商户清单,发现一楼有优衣库,二楼有星巴克,三楼有麦当劳。...Hystrix还有请求合并、请求缓存这样强大的功能,在此我就不具体说明了,有兴趣的同学可继续深入学习~ 7.1Hystrix仪表盘 Hystrix仪表盘:它主要用来实时监控Hystrix的各项指标信息。...或者可以这样理解: zuul是对外暴露的唯一接口相当于路由的是controller的请求,而Ribbonhe和Fegin路由了service的请求 zuul做最外层请求的负载均衡 ,而Ribbon和Fegin

    1.9K00

    CTO 说了,再发现谁用 kill -9 关闭程序就开除!

    ,这个世界上没有绝对的安全系统或者架构,分布式事务也是一样,他也会存在问题,概率很小,如果一旦发生,损失有可能是无法弥补的,所以一定不能使用kill -9 去停止服务,因为你不知道他会造成什么后果。...我们来看个例子: 我写了一个普通的controller方法做测试。...actuator的接口重新给定了一个接口,这样可提高安全性,下面我们来测试一下 @RequestMapping(value = "/test",method = RequestMethod.GET)...那可能你会有疑问了,jvm没有立即停止,那这个时候在有请求会发生什么呢?如果关闭的时候有新的请求,服务将不在接收此请求。 4 数据备份操作 如果我想在服务停止的时候做点备份操作啥的,应该怎么做呢?...其实很简单在你要执行的方法上添加一个注解即可:@PreDestroy Destroy:消灭、毁灭 pre:前缀缩写 所以合在一起的意思就是在容器停止之前执行一次,你可以在这里面做备份操作,也可以做记录停机时间等

    58730

    外行人都能看懂的SpringCloud,错过了血亏!

    但真正接触到"面向切面编程"的时候,发现原来就是如此啊,也没什么大不了的。只不过当时被它的名字给唬住了… 不知道各位在刚接触这些名字集群/分布式/微服务/SOA的时候,有没有被唬住了呢??...集群:同一个业务,部署在多个服务器上(不同的服务器运行同样的代码,干同一件事) 2.2什么是分布式 以下内容来源维基百科: 分布式系统是一组计算机,通过网络相互连接传递消息与通信后并协调它们的行为而形成的系统...Hystrix还有请求合并、请求缓存这样强大的功能,在此我就不具体说明了,有兴趣的同学可继续深入学习~ 7.1Hystrix仪表盘 Hystrix仪表盘:它主要用来实时监控Hystrix的各项指标信息。...或者可以这样理解: zuul是对外暴露的唯一接口相当于路由的是controller的请求,而Ribbonhe和Fegin路由了service的请求 zuul做最外层请求的负载均衡 ,而Ribbon和Fegin...我的理解:Zuul和Nginx是可以一起使用的(毕竟我们的Zuul也是可以搭成集群来实现高可用的),要不要一起使用得看架构的复杂度了(业务)~~~ 参考资料: 微服务与API网关(上): 为什么需要API

    3.1K30

    传参base64时的+号变空格问题

    问题发生 上上周,看到一位老哥找我们组同事联调接口,不知道是什么问题,两人坐一起搞了快1个小时,看起来好像有点复杂。 突然,老哥发出一声卧槽,"我传参里的+号,到你这怎么变成了空格!"...,这个声音很大,我明显的听到了,很快,我就大概Get到了他们的问题点。 我猜测他们遇到的问题大概如下: 我们的接口协议上,都会将请求数据做一次base64编码,然后放到data参数上。...然后直接拼到data参数上,即data=eyJub3RlcyI6IuS7o+eggSJ9Cg==,组织成http请求发出。...urldecode解码这样的操作,当调用方的Content-Type为application/x-www-form-urlencoded时,这里知道有这种操作即可,想了解细节可看看我写的这篇文章 由x-www-form-urlencoded...普通的base64不能直接作为参数值,因为它可能包含+、/这两个url不安全的字符,所以base64有个变种叫urlBase64,它将+、/替换成了url安全的-、_,java实现如下: String

    1.6K00
    领券