XHR

XHR 对象实例所有的配置、属性、方法、回调和不可变值

雨燕双飞 提交于 2021-02-20 19:46:25
当我们声明了一个XMLHttpRequest对象的实例的时候,使用for-in来循环遍历一下这个实例(本文使用的是chrome45版本浏览器),我们会发现在这个实例上绑定了一些内容,我把这些内容进行了一下分类: 一、配置项 也就是对xhr对象进行配置。 ① timeout : 配置请求超时时间。 ② withCredentials:是否携带发送提供凭据,在下面会进行详细的说明。 二、属性项 也就是指一些请求发送或完成过程中可能会被用户读取或使用到的一些值。 ① readyState:xhr的状态码。 ② status:http状态码。 ③ statusText:http状态说明文本。 ④ response:响应。 ⑤ responseType:响应类型。 ⑥ responseURL:响应的URL路径。 ⑦ responseText:响应的文本数据。 ⑧ responseXML:响应的XML数据。 ⑨ upload:上传对象,在下面会详细说明。 三、方法项 就是可以通过这些方法进行一些交互,如发送请求,获取或设置头部信息等等。 ① open:打开一个xhr请求。 ② setRequestHeader:设置请求头信息。 ③ send:发送请求。 ④ abort:中断请求。 ⑤ getResponseHeader:获取某一响应头内容。 ⑥ getAllResponseHeaders

仅逗oier们一笑(不定期更新中)(update.2019年12月8日)

守給你的承諾、 提交于 2021-02-20 13:00:21
CCF的正确解释: //部分来自: 朝阳的二愣子的CSDN博客 、 ydclyq 的博客 、 拱垲的博客 、 Randolph's Blog 、 编译下列程序,会有意想不到的惊喜哦(注意打开声音): #include<bits/stdc++.h> #include <windows.h> #define qdo 262 #define qre 294 #define qmi 330 #define qfa 349 #define qso 392 #define qla 440 #define qsi 494 #define doo 523 #define re 578 #define mi 659 #define fa 698 #define so 784 #define la 880 #define si 988 #define do1 1046 #define re1 1175 #define mi1 1318 #define fa1 1480 #define so1 1568 #define la1 1760 #define si1 1976 #define sqdo 277 #define sqre 311 #define sqfa 370 #define sqso 415 #define sqla 466 #define sdo 554 #define sre 622

老司机带你用python来爬取妹子图

假装没事ソ 提交于 2021-02-15 14:52:12
这是日常学python的第14篇原创文章 我前几篇文章都是说一些python爬虫库的用法,还没有说怎样利用好这些知识玩一些好玩的东西。那我今天带大家玩好玩又刺激的,嘻嘻!对了,requests库和正则表达式很重要的,一定要学会!一定要学会!!一定要学会!!!我现在的爬虫基本都是用这两样东西来爬的。所以学不学你看着办吧。 来到今天的重点,我今天发现一个网站很好爬的,非常适合新手,我没有设置请求头什么的爬了很多遍很没有封我ip和给我返回403之类的,所以他对我们第一次玩爬虫的人来说很友好。这个网站就是 今日头条 。最重要的是这里面有很多美女图片,我们可以把它们爬下来!!!是不是想想都要流鼻血啊? 文章首发于公众号「日常学python」 我们今天要爬的就是他的图集,先看看网站。搜索美女,然后点击图集,可以看到下面这些内容 我们要做的就是把上面的图片给爬下来。 那开始分析网站。按下f12,然后点击network,刷新下你可以看到这些 进行寻找哪个请求返回这些图片的,在网页上可以看到图片会随着你下拉网页而进行显示更多的图片,这是动态加载的,所以可以轻松知道这个可以在xhr文件中找到,果然,你看 不断往下拉,不断地发送请求,点击这个请求看看是返回什么数据 可以看到这是个json,里面有图片的url,这个就是我们要找的东西,那我们可以用json库来解析,还有这个网站是get请求

Chrome DevTools

点点圈 提交于 2021-02-09 07:55:47
Chrome DevTools 小技巧 1.表格视图 console.table(arr2/obj, [arrColName]); // 以列表形式显示对象属性/值或者多维数组键/值 2.计时 console.time/timeEnd(str); // 成对出现,配合使用 3.snippet 可以把自己的调试工具库放进去,非常方便 4.图片取色 用浏览器打开图片,审查元素,设置任意色值,用取色器取色 5.常用快捷键 Ctrl + Shift + f 跨文件查找 Ctrl + Shift + o 查找函数定义 Ctrl + p 转到Sources面板 Ctrl + Shift + c 审查元素 Ctrl + L 跳转到指定行 ESC 显示/不显示console Ctrl + L 清空console 零.主面板 1.常用功能 模拟设备(横屏切换),模拟触摸事件(默认开启) 2.不常用功能 模拟网络(移动网络性能优化),模拟经纬度、加速度,调试媒体查询 二.Elements 1.常用功能 定位,临时修改,查看css规则,事件监听 2.不常用功能 DOM断点 (插入断点,子树更新/属性值更新/节点移除时触发,对应DOM3级节点更新事件),拖放节点修改DOM结构, 强制元素显示hover/active等状态 三.Network 1.网络面板能做什么 哪个资源最晚开始下载?

ajax--表单和ajax分别使用get、post方法向后台传输数据

半城伤御伤魂 提交于 2021-02-08 12:28:46
为了前端与后台进行交互,我们使用ajax来完成这些功能。 我们首先了解,什么是ajax? Asynchronous JavaScript and XML 通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新,可以局部刷新而不必整个页面整体刷新。 如何与服务器进行数据交换? 首先,需要自己搭建服务器,在服务端的环境中可运行PHP语言 从网页进入服务器有三种基本方式: 1. localhost:+端口号 2. 127.0.0.1+端口号 3. ip+端口号 然后,和服务器端的php页面建立联系 大致分为两种。一种是通过form表单向后台传输数据。一种是通过ajax向后台传输数据。 第一种:通过form表单向后台传输数据。 如下例子:在html页面中的form表单中,与 05.2.php 建立联系 ,数据传递方式为POST。 <form action="05.2.php" method="post"> <input type="text" placeholder="请输入用户名" name="userName"> <input type="submit" placeholder="登录"> </form> 下面是05.2.php页面的内容: <? php echo "这个为post提交的页面" ; echo $_POST[ 'userName' ]; echo '<h1>

wangeditor 支持上传视频版

青春壹個敷衍的年華 提交于 2021-02-02 13:55:44
1、关于使用哪个富文本编辑器。 简单的要求,不要求发布出来的文章排版要求很高。 可用wangediter。(简单,体积小,不可修改上传图片的尺寸大小) 转载 来源: https://blog.csdn.net/m0_37885651/article/details/83660206 添加了: 自定义上传方法: customUploadVideo 用法同:customUploadImg (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global.wangEditor = factory()); }(this, (function () { 'use strict'; /* poly-fill */ var polyfill = function () { // Object.assign if (typeof Object.assign != 'function') { Object.assign = function (target, varArgs) { //

javascript面向对象习题答案

会有一股神秘感。 提交于 2021-01-25 01:35:30
第二章 1.如果我们在控制台中执行下列语句,结果分别是什么?为什么? var a; typeof a; undefined > var s = '1s'; s++; NaN > !!"false"; true > !!undefined; false > typeof -Infinity; number > 10 % "0"; NaN > undefined == null; true > false === ""; false > typeof "2E+2"; string > a = 3e+3; a++; 3000 2.执行下面的语句后,v 的值会是什么? var v = v || 10; 如果将v 分别设置为100、0、null,结果又将是什么? 100, 10, 10 3.编写一个打印乘法口诀表的脚本程序。提示:使用嵌套循环来实现。 for ( let i = 1; i < 10; i++) { for ( let j = i; j < 10; j++) { console.log(i + '*' + j + '= '+ i*j); } } 第三章 1.编写一个将十六进制值转换为颜色的函数,以蓝色为例,#0000FF 应被表示成 rgb(0,0,255)的形式。然后将函数命名为getRGB(),并用以下代码进行测试。提示: 可以将字符串视为数组,这个数组的元素为字符。

跨域简单介绍

爱⌒轻易说出口 提交于 2021-01-24 19:16:17
1.什么是跨域 下面的这些情况是属于跨域的: 协议不同,如http, https; 端口不同; 主域相同,子域不同; 主域不同; ip地址和域名之间也算是跨域,浏览器不会自动做ip域名的映射; 2.跨域不能访问的原因 说到跨域,一般人都有一个模糊的概念,大概就是从一个域名的网页去访问了另一个域名的资源,获取失败了。 但是跨域产生的原因,有些人可能就没了解过。 跨域的原因 跨域时不能获取资源,并不是服务器做了一些限制。 而是浏览器做的限制 。 没错,你写一个ajax跨域请求时,打开F12调试,会发现在response里面是拿到了服务器返回的数据的。由此可以看出服务器并没有对跨域做限制,数据通信是正常的。 问题出现的原因,就是浏览器判断了该请求是跨域请求,所以即使从服务器拿到了数据,也不显示给你。并且提示你出错了,跨域请求了。 所以,现在一般人在说跨域的时候都在说ajax跨域问题,js跨域问题,这个叫法是不对的,应该改成, 浏览器的跨域问题 , 3.为什么浏览器会有跨域限制 如果浏览器不做跨域限制,会出现安全问题。 比如可以做下面的攻击: 1.用户登录了自己的银行页面 http://mybank.com,http://mybank.com向用户的cookie中添加用户标识。 2.用户浏览了恶意页面 http://evil.com。执行了页面中的恶意AJAX请求代码。 3.http:/

【JS逆向】之过无限debugger调试

荒凉一梦 提交于 2021-01-14 10:57:33
在JS逆向过程当中,获取用发F12抓取XHR的时候,常常会发现网页不让我们打开F12开发人员工具。如果这个时候我们开启工具中禁止断点之后,虽然我们可以抓取xhr,但是这样我们无法调试代码部分了,开启了禁止断点之后,我们自己也无法在代码当中下断点了 1.这里说明一下:关于上面说的禁止断点怎么操作,我上一篇文章是有说明的 【JS逆向】之浏览器的功能详细使用 2.开始我们就用我自己写的一断简单debugger代码来演示一个什么是debugger.: setInterval ( function ( ) { debugger ; } , 1000 ) //setInterval这个是JS语言当中的定时器,它有两个参数,第一个是要执行的代码,第二个执行时间 这个一段代码执行的话会一直断住,不管你怎么跳转到下一个断点,它都还是会一直断,其实这个就是一个无限debugger的代码,如图执行 这个时候我们要怎么去处理的着东西呢, a.禁止断点(不建议使用) b.采用hook的方法来hook定义器 c.在定时器运行到debugger的时候必定是true才能执行,那我们给它改成false,那么它就不执行,也就达到我们的目的了. 下面我就说说这三种方法: a.打开禁止断点功能,在点击跳到下一个断点,但是当我们关闭禁止断点之后,它还是会继续断住 b.hook定时器其实就是修改这个函数的执行属性

什么是跨域?跨域解决方法

好久不见. 提交于 2021-01-14 06:37:58
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/qq_38128179/article/details/84956552 一、为什么会出现跨域问题 出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port) 二、什么是跨域 当一个请求url的 协议、域名、端口 三者之间任意一个与当前页面url不同即为跨域 当前页面url 被请求页面url 是否跨域 原因 http://www.test.com/ http://www.test.com/index.html 否 同源(协议、域名、端口号相同) http://www.test.com/ https://www.test.com/index.html 跨域 协议不同(http/https) http://www.test.com/ http://www