url

post 和get

时光怂恿深爱的人放手 提交于 2020-03-25 11:57:44
3 月,跳不动了?>>>  Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。    1 .根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。   (1).所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。   * 注意:这里安全的含义仅仅是指是非修改信息。   (2).幂等的意味着对同一URL的多个请求应该返回同样的结果。这里我再解释一下 幂等 这个概念:    幂等 (idempotent、idempotence)是一个数学或计算机学概念,常见于抽象代数中。   幂等有一下几种定义:   对于单目运算,如果一个运算对于在范围内的所有的一个数多次进行该运算所得的结果和进行一次该运算所得的结果是一样的,那么我们就称该运算是幂等的。比如绝对值运算就是一个例子,在实数集中,有abs(a)=abs(abs(a))。

JAVA 连接数据库的步骤

若如初见. 提交于 2020-03-25 11:40:55
第一步:数据库驱动和数据量地址基本信息。 // MySQL 8.0 以下版本 - JDBC 驱动名及数据库 URL static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB"; // MySQL 8.0 以上版本 - JDBC 驱动名及数据库 URL //static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver"; //static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB?useSSL=false&serverTimezone=UTC"; // 数据库的用户名与密码,需要根据自己的设置 static final String USER = "root"; static final String PASS = "123456"; 第二步:注册驱动 // 注册 JDBC 驱动 Class.forName(JDBC_DRIVER); 第三步:打开连接 // 打开链接 System.out.println("连接数据库..."); conn =

asp.net MVC 5 路由 Routing

冷暖自知 提交于 2020-03-25 09:21:25
ASP.NET MVC ,一个适用于WEB应用程序的经典模型 model-view-controller 模式。相对于web forms一个单一的整块,asp.net mvc是由连接在一起的各种代码层所组成。 最近又接触了关于asp.net mvc的项目,又重拾以前的记忆,感觉忘了好多,特此记录。 首先,来说说路由Routing。 ASP.NET MVC 不再是要依赖于物理页面了,你可以使用自己的语法自定义URL,通过这些语法来指定资源和操作。语法通过URL模式集合表达,也称为路由。 路由是代表URL绝对路径的模式匹配字符串。所以路由可以是一个常量字符串,也可能包含一些占位符。 新建一个asp.net mvc项目。在global.asax文件我们可以看到路由在这里注册,让程序在启动的时候得到处理。 我们常用到的路由的特性设置有名称,URL模式和设置默认值。 让我们看看新建的项目的路由是怎么样的,我们打开RouteConfig namespace HEAMvcDemo { public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name

Python开源框架

天涯浪子 提交于 2020-03-25 07:21:11
info:更多Django信息 url:https://www.oschina.net/p/django detail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC)风格的 Web 应用程序框架。使用 Django,我们在几分钟之内就可以创建高品质、易维护、数据库驱动的应用程序。 Django 框架的核心组件有: 用于创建模型的对象关系映射 为最终用户设计的完美... info:更多OpenERP信息 url:https://www.oschina.net/p/openerp detail: OpenERP(08年5月前称之为TinyERP)是一个ERP/CRM系统。 它使用Python语言开发,数据库采用开源的PostgreSQL,系统以GNU GPL开 源协议发布。 系统提供较灵活的模块架构,常用模块包括:采购管理,销售管理,库存管理,财务管理,货品管理,营销管理,客户关... info:更多Seafile信息 url:https://www.oschina.net/p/seafile detail: Seafile 是一款安全、高性能的开源网盘(云存储)软件。Seafile 提供了主流网盘(云盘)产品所具有的功能,包括文件同步、文件共享等。在此基础上,Seafile 还提供了高级的安全保护功能以及群组协作功能。由于 Seafile

CRLF注入原理

余生长醉 提交于 2020-03-24 18:21:35
CRLF 指的是回车符(CR,ASCII 13,\r,%0d) 和换行符(LF,ASCII 10,\n,%0a),操作系统就是根据这个标识来进行换行的,你在键盘输入回车键就是输出这个字符,只不过win和linux系统采用的标识不一样而已。 在HTTP当中HTTP的Header和Body之间就是用两个crlf进行分隔的,如果能控制HTTP消息头中的字符,注入一些恶意的换行,这样就能注入一些会话cookie和html代码,所以CRLF injection 又叫做 HTTP response Splitting,简称HRS。CRLF漏洞可以造成 Cookie会话固定 和 反射型XSS(可过waf) 的危害,注入XSS的利用方式:连续使用两次%0d%oa就会造成header和body之间的分离,就可以在其中插入xss代码形成反射型xss漏洞。 测试 CRLF注入漏洞的检测也和XSS漏洞的检测差不多。通过修改HTTP参数或URL,注入恶意的CRLF,查看构造的恶意数据是否在响应头中输出。主要是在看到有重定向或者跳转的地方,可以在跳转的地址添加 ?url=http://baidu.com/xxx%0a%0dSet-Cookie: test123=123 测试一下,通过查看响应包的数据查看结果。 GET /index.php?c=rpzy&a=query&type=all&value=123

jQuery中使用ajax

偶尔善良 提交于 2020-03-24 17:31:49
基本属性 $.ajax({ url:'add.php', type:'post', data:{id:1,name:'ashen'}, success:function(res){ console.log(res); } }) dataType:设置响应体数据类型 success函数:只有状态码为200即请求成功才会执行 error函数:只有请求不正常才执行,即状态码不是200 complete函数:请求完成后执行,即成功或失败都会执行 beforeSend函数:在发送请求之前执行 高度封装函数 $.get(url,数据,成功后执行的函数) 发送get请求 $.post(url,数据,成功后执行的函数) 发送post请求 $.getJSON(url,数据,成功后执行的函数) 发送get请求 并设置响应体为json格式 $.getScript() 发送get请求 并设置响应体为javascript格式 全局事件处理函数 $(selector).ajaxStart(function(){}); 给某一元素注册请求开始时触发的事件 全局事件处理函数 $(selector).ajaxStop(function(){}); 给某一元素注册请求结束时触发的事件 全局事件处理函数    其中加入css或其他效果,可以实现正在加载或加载进度条等用户体验性较好的页面 如: $(document)

python 携程asyncio 实现高并发示例2

牧云@^-^@ 提交于 2020-03-24 12:39:07
https://www.bilibili.com/video/BV1g7411k7MD?from=search&seid=13649975876676293013 import asyncio import random #需求:有一个crontab调度器,每隔1秒,拉起1个job,要求这些job可以并发爬取网页 async def cron_scheduler(): page = 1 while True: url = "{}/{}".format("https://baidu.com",page) job = cron_job(url) #必须将新携程分离出去,让它和当前携程并发 asyncio.create_task(job) #注册到事件循环 await asyncio.sleep(0) #主动让渡线程 page = page+1 async def cron_job(url): n = random.randint(1,3) #模拟下载延迟 await asyncio.sleep(n) print("下载结束:",url) asyncio.run(cron_scheduler())    下载结束: https://baidu.com/145032 下载结束: https://baidu.com/144970 下载结束: https://baidu.com/144972

scrapy之多url页面数据的抓取

时光怂恿深爱的人放手 提交于 2020-03-24 11:39:26
【概述】 如果我们想要对某一个网站的全站数据进行抓取,我们通常会有如下两种解决方法: 1.手动请求的发送(即基于Scrapy框架中的Spider的递归爬取进行实现(Request模块递归回调parse方法))代码详见: scrapy之多url页面数据的抓取 2.基于CrawlSpider的自动爬取进行实现(更加简洁和高效,推荐使用) 【CrawlSpider】 1.简介 CrawlSpider其实是Spider的一个子类,除了继承到Spider的特性和功能外,还派生除了其自己独有的更加强大的特性和功能。Spider是所有爬虫的基类,其设计原则只是为了爬取start_url列表中网页,而从爬取到的网页中提取出的url进行继续的爬取工作使用CrawlSpider更合适。 2.两大功能组件: a.链接提取器( LinkExtractor ):提取response中符合规则的链接。 LinkExtractor(allow=r'Items/',deny=xxx,restrict_xpath=xxx,restrict_css=xxx,deny_domains=xxx) 参数说明: allow=r'Items/' # 满足括号中“正则表达式”的值会被提取,如果为空,则全部匹配。  deny=xxx # 满足正则表达式的则不会被提取。 restrict_xpaths=xxx #

python抓取页面内容 实例

♀尐吖头ヾ 提交于 2020-03-24 11:03:57
程序目的: 前段时间弄了个论坛 ( http://www.yyjun.net ) ,懒于手动找贴发帖,特写个抓取指定 url 中帖子内容的小程序 ( 完善中 ) 已经实现功能: 由于我们需要抓取页面特定 DOM 下的链接,如程序中,我们抓取 http://news.sina.com.cn/society/ 页面中大标题的链接,因此可以用函数 getlink 获取,返回 list 型结果,代码如下: url="http://news.sina.com.cn/society/" sinaurls=getlink(url, 'h1', {}) , 花括号为我们指定了附属条件,可以添加附加条件限制 返回结果 [url1, url2] 接下来就是获取页面中的内容,如:获取新闻标题、内容 ( 主要函数 getcontent) , 代码如下 getcontent(u, 'h1', {'id':'artibodyTitle'}, subtag=None).encode('utf-8') getcontent(u, 'div', {'id':'artibody'}, subtag=None).encode('utf-8') subtag=None 代表前面的参数已经可以获取到结果了,否则的话指定子 DOM 节点 tagname 和 tagattr 属性 这样我们就获取到了所要的数据

Python爬虫的N种姿势

醉酒当歌 提交于 2020-03-24 10:56:11
问题的由来   前几天,在微信公众号(Python爬虫及算法)上有个人问了笔者一个问题,如何利用爬虫来实现如下的需求,需要爬取的网页如下(网址为: https://www.wikidata.org/w/index.php?title=Special:WhatLinksHere/Q5&limit=500&from=0):   我们的需求为爬取红色框框内的名人(有500条记录,图片只展示了一部分)的 名字以及其介绍,关于其介绍,点击该名人的名字即可,如下图: 这就意味着我们需要爬取500个这样的页面,即500个HTTP请求(暂且这么认为吧),然后需要提取这些网页中的名字和描述,当然有些不是名人,也没有描述,我们可以跳过。最后,这些网页的网址在第一页中的名人后面可以找到,如George Washington的网页后缀为Q23.   爬虫的需求大概就是这样。 爬虫的N中姿势   首先,分析来爬虫的思路:先在第一个网页( https://www.wikidata.org/w/index.php?title=Special:WhatLinksHere/Q5&limit=500&from=0 )中得到500个名人所在的网址,接下来就爬取这500个网页中的名人的名字及描述,如无描述,则跳过。   接下来,我们将介绍实现这个爬虫的4种方法,并分析它们各自的优缺点,希望能让读者对爬虫有更多的体会