url

js中对URL进行转码与解码

谁说我不能喝 提交于 2020-03-27 06:51:49
1. escape 和 unescape escape()不能直接用于URL编码,它的真正作用是返回一个字符的Unicode编码值。 采用unicode字符集对指定的字符串除0-255以外进行编码。所有的空格符、标点符号、特殊字符以及更多有联系非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。 escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z。 escape()函数用于js对字符串进行编码,不常用。 1 var url = "http://localhost:8080/pro?a=1&b=张三&c=aaa"; 2   escape(url) --> http%3A//localhost%3A8080/pro%3Fa%3D1%26b%3D%u5F20%u4E09%26c%3Daaa 2. encodeURI 和 decodeURI 把URI字符串采用UTF-8编码格式转化成escape各式的字符串。 encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z encodeURI()用于整个url编码 1   var url = "http://localhost:8080/pro?a=1

JS中对URL进行转码与解码

北战南征 提交于 2020-03-27 06:51:04
1. escape 和 unescape escape()不能直接用于URL编码,它的真正作用是返回一个字符的Unicode编码值。 采用unicode字符集对指定的字符串除0-255以外进行编码。所有的空格符、标点符号、特殊字符以及更多有联系非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。 escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z。 escape()函数用于js对字符串进行编码 , 不常用。   var url = "http://localhost:8080/pro?a=1&b=张三&c=aaa";  escape(url) --> http%3A//localhost%3A8080/pro%3Fa%3D1%26b%3D%u5F20%u4E09%26c%3Daaa 2. encodeURI 和 decodeURI 把URI字符串采用UTF-8编码格式转化成escape各式的字符串。 encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z encodeURI()用于整个url编码   var url = "http://localhost:8080/pro?a=1&b

javascript 伪协议

ぃ、小莉子 提交于 2020-03-27 06:50:26
【 javascript 伪协议 】 将javascript代码添加到客户端的方法是把它放置在伪协议说明符javascript:后的URL中。这个特殊的协议类型声明了URL的主体是任意的javascript代码,它由javascript的解释器运行。如果javascript:URL中的javascript代码含有多个语句,必须使用分号将这些语句分隔开。这样的URL如下所示: 1 javascript: var now = new Date(); "<h1>The time is:</h1>" + now; 当浏览器装载了这样的URL时,它将执行这个URL中包含的javascript代码,并把 最后一条javascript语句的字符串值作为新文档的内容显示出来 。这个字符串值可以含有HTML标记,并被格式化,其显示与其他装载进浏览器的文档完全相同。 javascript URL还可以含有只执行动作,但不返回值的javascript语句。例如: 1 javascript:alert( "hello world!" ) 装载了这种URL时,浏览器仅执行其中的javascript代码,但由于没有作为新文档来显示的值,因此它并不改变当前显示的文档。 通常我们想用javascript:URL执行某些不改变当前显示的文档的javascript代码 。要做到这一点

System.Web.HttpServerUtility.cs

人盡茶涼 提交于 2020-03-27 00:09:51
ylbtech-System.Web.HttpServerUtility.cs 1. 返回顶部 1、 #region 程序集 System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a // C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Web.dll #endregion using System.Collections.Specialized; using System.IO; namespace System.Web { // // 摘要: // 提供用于处理 Web 请求的 Helper 方法。 public sealed class HttpServerUtility { // // 摘要: // 获取和设置请求超时值(以秒计)。 // // 返回结果: // 请求的超时值设置。 // // 异常: // T:System.Web.HttpException: // 当前的 System.Web.HttpContext 为 null。 // // T:System.ArgumentOutOfRangeException: // 超时期限是

利用pandas库中的read_html方法抓取网页中常见的表格型数据

。_饼干妹妹 提交于 2020-03-26 22:52:30
read_html返回一个DataFrame对象的列表(list). 读取URL中,第N个表格。需要分析html代码。 import pandas as pd url = 'http://fx.cmbchina.com/Hq/' tb = pd.read_html(url,encoding='utf-8')[1] #经观察发现所需表格是网页中第2个表格,故为[1] print(tb) 输出如下: [ 0 1 2 3 4 5 6 7 8 0 交易币 交易币单位 基本币 现汇卖出价 现钞卖出价 现汇买入价 现钞买入价 时间 汇率走势图 1 港币 100 人民币 91.50 91.50 91.14 90.50 20:32:16 查看历史>> 2 新西兰元 100 人民币 417.97 417.97 414.63 401.52 20:32:16 查看历史>> 3 澳大利亚元 100 人民币 426.07 426.07 422.67 409.30 20:32:16 查看历史>> 4 美元 100 人民币 709.76 709.76 706.57 700.91 20:32:16 查看历史>> 5 欧元 100 人民币 777.71 777.71 771.51 747.11 20:32:16 查看历史>> 6 加拿大元 100 人民币 501.68 501.68 497.68 481.94 20

深夜,我用python爬取了整个斗图网站,不服来斗

我怕爱的太早我们不能终老 提交于 2020-03-26 18:50:54
深夜,我用python爬取了整个斗图网站,不服来斗 QQ、微信斗图总是斗不过,索性直接来爬斗图网,我有整个网站的图,不服来斗。 废话不多说,选取的网站为斗图啦,我们先简单来看一下网站的结构 网页信息 从上面这张图我们可以看出,一页有多套图,这个时候我们就要想怎么把每一套图分开存放(后边具体解释) 通过分析,所有信息在页面中都可以拿到,我们就不考虑异步加载,那么要考虑的就是分页问题了,通过点击不同的页面,很容易看清楚分页规则 很容易明白分页URL的构造,图片链接都在源码中,就不做具体说明了明白了这个之后就可以去写代码抓图片了 存图片的思路 因为要把每一套图存入一个文件夹中(os模块),文件夹的命名我就以每一套图的URL的最后的几位数字命名,然后文件从文件路径分隔出最后一个字段命名,具体看下边的截图。 这些搞明白之后,接下来就是代码了(可以参考我的解析思路,只获取了30页作为测试)全部源码 # -*- coding:utf-8 -*- import requests from bs4 import BeautifulSoup import os class doutuSpider(object): headers = { "user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like

《解决微信内置浏览器返回上一页强制刷新问题方法》

徘徊边缘 提交于 2020-03-26 16:16:24
3 月,跳不动了?>>> 微信内置浏览器在返回上一页面,且上一页面包含AJAX代码时,页面就会被强制刷新,极度影响用户体验。而我们想要的效果是:返回上一页面时,页面还停留在原来的状态,AJAX获取到的数据还在,滚动条也在原来的位置。 BINGO~ 通过 HTML5 的 history API + 缓存 可以做到这一点。 执行原理: 1.0、通过 history API 的 history.pushState 或 history.replaceState 保存AJAX状态; 2.0、同时将AJAX获取到的数据缓存起来(可以考虑使用H5的 localStorage 或 sessionstorage ); 3.0、当返回到这个页面时,先获取窗口的 history.state ,如果不为空,表示保存的有状态,我们要做的就是恢复到这个状态; 4.0、读取缓存数据并加载。如果涉及到分页,且是滚动加载的形式,需要将当前页设置为history.state中的页数。 使用技术点介绍: history API: HTML5 history API只包括2个方法: history.pushState() 和 history.replaceState() ,以及1个事件: window.onpopstate 。 ①history.pushState() 它的完全体是 history.pushState

权限框架 基础知识

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-26 14:11:09
权限管理框架 属于系统安全的范畴,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权的资源   包括用户身份认证和授权两部分,简称认证授权 1.身份认证 判断一个用户是否为合法用户的处理过程; 最常用的简单身份认证方式是系统通过核对用户输入的用户名和口令,看其是否与系统中存储的该用户的用户名和口令一致,来判断用户身份是否正确 2.授权管理 即访问控制,控制谁能访问哪些资源; 体进行身份认证后需要分配权限方可访问系统的资源,对于某些资源没有权限是无法访问的 3.权限控制 1)基于角色 RBAC基于角色的访问控制(Role-Based Access Control)是以角色为中心进行访问控制,比如:主体的角色为总经理可以查询企业运营报表,查询员工工资信息等,访问控制流程如下: 2)基于资源   RBAC基于资源的访问控制(Resource-Based Access Control)是以资源为中心进行访问控制,比如:主体必须具有查询工资权限才可以查询员工工资信息等,访问控制流程如下:   上图中的判断逻辑代码可以理解为:   if(主体.hasPermission("查询工资权限标识")){     查询工资   } 3)基于url拦截   企业中常用的权限管理方法,实现思路是:将系统操作的每个url配置在权限表中,将权限对应到角色

vue静态资源放在src/assets与static目录下的区别

╄→гoц情女王★ 提交于 2020-03-26 11:06:13
assets 为了回答这个问题,我们首先需要了解Webpack如何处理静态资产。在 *.vue 组件中,所有模板和CSS都会被 vue-html-loader 及 css-loader 解析,并查找资源URL。例如,在 <img src="./logo.png"> 和 background: url(./logo.png) 中, "./logo.png" 是相对的资源路径,将由Webpack解析为模块依赖。 因为 logo.png 不是 JavaScript,当被视为模块依赖时,需要使用 url-loader 和 file-loader 处理它。vue-cli 的 webpack 脚手架已经配置了这些 loader,因此可以使用相对/模块路径。 由于这些资源可能在构建过程中被内联/复制/重命名,所以它们基本上是源代码的一部分。这就是为什么建议将Webpack 处理的静态资源放在 /src 目录中和其它源文件放一起的原因。事实上,甚至不必把它们全部放在 /src/assets :可以用 模块/组件 的组织方式来使用它们。例如,可以在每个放置组件的目录中存放静态资源。 static 相比之下, static/ 目录下的文件并不会被 Webpack 处理:它们会直接被复制到最终目录(默认是 dist/static )下。必须使用绝对路径引用这些文件,这是通过在 config.js

type=\"submit\"表单提交理解

房东的猫 提交于 2020-03-26 08:02:59
1、默认为form提交表单 . button则响应用户自定义的事件,如果不指定onclick等事件处理函数,它是不做任何事情.当然,button也可以完成表单提交的工作. 2、 method="get",表单在提交时,填写在表单中的数据会和action="url"中的url编码在一起。 method="post",表单在提交时,填写在表单中的数据将在底层发送到action="url"中的url去。 两者的区别在于,method="get"时,数据传输是可见的;method="post"时,数据传输是不可见的 3、表单提交中get和post方式的区别有5点 1.get是从服务器上获取数据,post是向服务器传送数据。 2.get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTPpost机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。 3.对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。 4.get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB