response

Python:网络爬虫相当利器

时光毁灭记忆、已成空白 提交于 2020-01-16 05:02:51
网络爬虫,又称为网页蜘蛛(WebSpider),非常形象的一个名字。如果你把整个互联网想象成类似于蜘蛛网一样的构造,那么我们这只爬虫,就是要在上边爬来爬去,顺便获得我们需要的资源。我们之所以能够通过百度或谷歌这样的搜索引擎检索到你的网页,靠的就是他们大量的爬虫每天在互联网上爬来爬去,对网页中的每个关键词进行索引,建立索引数据库。在经过复杂的算法进行排序后,这些结果将按照与搜索关键词的相关度高低,依次 最近,主要的任务就是开发性感 美女图片大全 ,使用python进行图片采集 1 urllib模块 urllib模块实际上是综合了url和lib的一个包。 url的一般格式为: protocol://hostname[:port]/path/[;parameters][?query]#fragment URL 由三部分组成: 第一部分是协议:http,https,ftp,file,ed2k… 第二部分是存放资源的服务器的域名系统或IP地址(有时候要包含端口号,各种传输协议都有默认的端口,如http的默认端口是80) 第三部分是资源的具体地址,如目录或者文件名等 举一个例子说明: import urllib.request response = urllib.request.urlopen("http://www.meimei169.com/") html = response.read(

js的逆向解析

让人想犯罪 __ 提交于 2020-01-16 04:27:38
过程: 知道如何寻找登录的接口 知道如何确定js的位置 知道如何观察js的执行过程 知道js的执行方法 1. 确定网站的登录的接口 登录的form表单中action对应的url地址 通过抓包可以发现,在这个url地址和请求体中均有参数,切换到手机版,参数的个数少,分析js 2. 确定js的位置 通过点击按钮,然后点击Event Listener,部分网站可以找到绑定的事件,对应的,只需要点击即可跳转到js的位置 部分网站的按钮可能并没有绑定js事件监听,那么这个时候可以通过搜索请求中的关键字来找到js的位置,比如livecell 3. 观察js的执行过程 找到js的位置之后,我们可以来通过观察js的位置,找到js具体在如何执行,后续我们可以通过python程序来模拟js的执行,或者是使用类似js2py直接把js代码转化为python程序去执行 观察js的执行过程最简单的方式是添加断点 添加断点之后继续点击登录,每次程序在断点位置都会停止,通过如果该行有变量产生,都会把变量的结果展示在Scoope中 4. 执行js 观察代码知晓需要哪些参数,比如: 我们要登录需要对密码进行加密和获取rkey字段的值 rkey字段的值我们直接发送请求rkey请求就可以获得 密码是先反转然后使用RSA进行加密, js代码很复杂, 我们希望能通过在python中执行js来实现 实现思路:

Springboot下载程序包中的文件

Deadly 提交于 2020-01-16 02:29:26
这里实现的下载程序包中指定路径的文件,我们将指定文件存放在resources的static文件夹下面。前台就是代码请求后台不要使用ajax请求,因为下载文件不支持ajax请求,可以使用window.location.href="#"或者是document.getElementById("downFrame").src=具体地址。看下后台代码。 之前遇到过问题是在idea下是可以成功下载的,但是部署在Linux环境下就不能够下载了。现在解决了这个问题。使其在Windows和Linux环境都可以用。大致代码如下: String fileName = "c.zip" String filePath = "static"+File.separator+fileName; ClassPathResource re = new ClassPathResource(filePath); response.setContentType("application/vnd.ms-excel"); response.setHeader("Content-Dispostion","filename="+new String(fileName.getBytes("GBK"),"ISO-8859-1")); response.setHeader("Pragma","No-cache");

Response对象

柔情痞子 提交于 2020-01-16 00:36:57
功能:设置响应消息 设置响应行 格式:HTTP/1.1 200 ok 设置状态码:setStatus(int sc) 设置响应头:setHeader(String name, String value) 设置响应体: 使用步骤: 获取输出流 字符输出流:PrintWriter getWriter() 字节输出流:ServletOutputStream getOutputStream() 使用输出流,将数据输出到客户端浏览器 案例: 完成重定向 图解重定向 重定向:资源跳转的方式 代码实现: //1. 设置状态码为302 response.setStatus(302); //2.设置响应头location response.setHeader(“location”,"/day15/responseDemo2"); //简单的重定向方法 response.sendRedirect("/day15/responseDemo2"); 重定向的特点:redirect 地址栏发生变化 重定向可以访问其他站点(服务器)的资源 重定向是两次请求。不能使用request对象来共享数据 转发的特点:forward 转发地址栏路径不变 转发只能访问当前服务器下的资源 转发是一次请求,可以使用request对象来共享数据 forward 和 redirect 区别 路径写法: 路径分类 相对路径

Django中间件

余生颓废 提交于 2020-01-15 21:53:18
目录 Django中间件 中间件介绍 中间件的流程图 Django中间件 中间件介绍 中间件 就是用来处理Django的请求和响应的框架级别钩子,用于全局范围内改变Django的输入和输出,说直白一点,就是帮助我们在视图函数执行之前和执行之后都可以做一些额外的操作,它本质上就是一个自定义类,类中定义了几个方法,Django框架会在请求的特定时间去执行这些方法。 它就是Django的"门户,保安" 只要是全局相关的功能都可以考虑使用Django中间件来完成 全局用户身份校验 全局用户访问频率校验 用户访问黑名单 用户访问白名单 Settings.py文件中,以下这些就是中间件 MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware

小程序登录 之 支付宝授权

一曲冷凌霜 提交于 2020-01-15 19:24:25
众所周知啊,微信小程序是可以通过微信本身授权后再登录,平台可以拿到微信用的的账号相关信息,然后保存到数据库中,那么同理在支付宝小程序开发过程中,登录功能的设计也可以如此 上图是官方提供的时序图,具体看一下流程: 在小程序端获取 auth_code,目的是获取用户授权码 把第一步获取的授权码 auth_code 传到咱们自己的后台,也就是说后台需要编写一个接口,方便小程序端的传入 var me = this; my.getAuthCode({ scopes: 'auth_user', // 主动授权(弹框):auth_user,静默授权(不弹框):auth_base success: (res) => { if (res.authCode) { // console.log(app.serverUrl + '/login/' + res.authCode); // 调用自己的服务端接口,让服务端进行后端的授权认证 my.httpRequest({ url: app.serverUrl + '/login/' + res.authCode, method: 'POST', header:{ 'content-type': 'application/json' }, dataType: 'json', success: (res) => { // 授权成功并且服务器端登录成功

开源多线程性能测试工具-sysbench

旧城冷巷雨未停 提交于 2020-01-15 16:09:09
sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试。数据库目前支持 MySQL/Oracle/PostgreSQL。本文主要演示Mysql测试的用法,后续准备利用sysbench来对CPU/内存/IO进行一系 列的测试。具体的一些参数设置,需要根据不同的测试要求来进行调整。 Sysbench简介 sysbench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同参数环境下的系统或数据库的负载情况。 本文主要学习使用sysbench来测试linux下mysql数据库的性能负载情况。 sysbench主要支持以下几种测试模式: CPU运算性能 磁盘IO性能 调度程序性能 内存分配及传输速度 POSIX线程性能 数据库性能(OLTP基准测试) 目前sysbench主要支持 Mysql,Drizzle,PgSQL,Oracle等几种数据库。 一、 下载sysbench源码包及mysql数据库 1. 目前sysbench代码托管在launchpad上,项目地址: https://github.com/akopytov/sysbench,下载方式: 2. MySQL官方下载地址:http://dev.mysql.com/downloads/mysql/,下载方式: 二、编译安装 1. Mysql数据库安装:

Unable to properly read json encoded success/failure statuses sent by Cake PHP controller function handling Ajax call

半城伤御伤魂 提交于 2020-01-15 10:42:43
问题 My problem is somewhat similar to cakephp, jquery, .ajax(), dataType: json, but my observations are little different. I am working on a Cake PHP project. Consider a group_assoc submodule of opstools module. So, there is this function group_assoc() inside opstools_controller.php which is invoked by an ajax call to update group associations. My ajax post is like this - $.post( url, function(data) { if(data) { alert(data.success); //alerts -> undefined alert(data); //alerts -> {"success":true}

vue 请求拦截 接口报错 自动跳转到503提示页面

别说谁变了你拦得住时间么 提交于 2020-01-15 08:16:31
做项目的时候,有时候接口报错,或者服务器挂了,我们需要做一个错误页面,告诉用户此时服务器挂了。在网上找了一下,并没有清晰易懂的文档,我就把我的项目里面用到的分享出来。 新建一个请求拦截js文件,代码如下: import axios from 'axios' import router from '../router.js' // 创建 axios 实例 export const Axios = axios.create ( { timeout: 15000 } ) window.cancelInterface = [ ] //POST传参序列化 ( 添加请求拦截器 ) // 在发送请求之前做某件事 axios.interceptors.request.use ( config = > { config.cancelToken = new axios.CancelToken ( cancel = > { if ( ! window.cancelInterface ) { window.cancelInterface = [ ] } window.cancelInterface.push ( { cancel } ) } ) // console.log ( 'config.token' , config ) if ( config.token != 'none' ) { if (

spring源码------一个请求在spring中的处理过程(从Servlet规范到FrameworkServlet)代码及流程图说明 (1)

杀马特。学长 韩版系。学妹 提交于 2020-01-15 07:11:45
文章目录 1.从`Servlet`规范分析`request`请求怎么进入到`Spring`中的 1.1 `Servlet`规范中的请求处理流程 1.2 从规范到spring中的实现 1.2.1 接收请求的`Servlet`与区分不同类型请求`HttpServlet` 1.2.2 进入到spring的请求逻辑处理 2. `FrameworkServlet`中对请求的分析和处理过程 2.1 请求开始处理前的上下文,参数以及其他的准备 2.1.1 拦截器对request的加工处理 2.2 请求处理完成之后对请求的处理 2.2.1 处理请求结束前逻辑 2.2.2 发布请求处理完成事件  在网上有很多spring处理请求的流程图,但是都是比较简单的过程,都是围绕的 DispatcherServlet 进行说明的,这里我们将从一个请求如何进入spring中开始,到返回结果结束进行说明。 1.从 Servlet 规范分析 request 请求怎么进入到 Spring 中的  spring的web框架的设计是按照 servlet 规范来进行扩展的,因此这里需要对 Servlet 规范讲一下。 1.1 Servlet 规范中的请求处理流程  这里直接将翻译过后的原文借用过来:  servlet 完成初始化后,servlet 容器就可以使用它处理客户端请求了。 客户端请求由