response

axios 的使用方法

会有一股神秘感。 提交于 2020-03-14 09:22:21
axios是一个基于promise的HTTP库, 可以再浏览器和node.js中使用 浏览器的兼容 安装 使用npm安装 npm install axios --save 使用bower安装 bower install axios --save 使用cdn引入 <script src="https://unpkg.com/axios/dist/axios.min.js"></script> 使用实例 执行get请求 // 为给定 ID 的 user 创建请求 axios.get('/user?ID=12345') .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); }); // 可选地,上面的请求可以这样做 axios.get('/user', { params: { ID: 12345 } }) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); }); 执行post请求 axios.post('/user', { firstName: 'Fred', lastName:

axios API

烈酒焚心 提交于 2020-03-14 09:22:01
vue更新到2.0之后,作者就宣告不再对vue-resource更新,而是推荐使用axios axios发送请求,默认情况下不会携带cookie(withCredentials: false, // default),需要通过设置withCredentials:true来解决。 全局默认配置设置方法: axios.defaults.withCredentials=true 默认请求头设置: axios.default.header = {   "Content-Type" : "application/x-www-form-urlencoded" } 通过axios拦截器,可以在请求、响应在到达then/catch之前拦截他们 tips:axios的作者明确表态不支持jsonp 以下内容转自: 简书:http://www.jianshu.com/p/df464b26ae58 一、安装 1、 利用npm安装 npm install axios --save 2、 利用bower安装 bower install axios --save 3、 直接利用cdn引入 <script src="https://unpkg.com/axios/dist/axios.min.js"></script> 二、例子 1、 发送一个 GET 请求 //通过给定的ID来发送请求 axios.get('

requests模块

我的未来我决定 提交于 2020-03-14 04:21:21
一,介绍 requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求。功能强大,用法简洁高效。在爬虫领域中占据着半壁江山的地位。 使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) 注意:requests库发送请求将网页内容下载下来以后,并不会执行js代码,这需要我们自己分析目标站点然后发起新的request请求 为什么要使用requests模块 因为在使用urllib模块的时候,会有诸多不便之处,总结如下: 手动处理url编码 手动处理post请求参数 处理cookie和代理操作繁琐 使用requests模块: 自动处理url编码 自动处理post请求参数 简化cookie和代理操作 二,使用 pip install requests 使用流程 指定url 基于requests模块发起请求 获取响应对象中的数据值 持久化存储 三,GET请求 import requests url = "https://www.sogou.com/web?" word = input("请输入关键词:").stript() #自定义请求头信息 headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64)

python中getattr详解

笑着哭i 提交于 2020-03-14 01:48:16
目录 getattr详解 前言 一.消除if…else 二. 反射机制 三.getattr 详解 总结 getattr详解 前言 这两天在优化腾讯云迁移平台( SmartMS )的中间件( go2cloud_api )时. 其中某些接口由于涉及多种服务器系统类型, 迁移类型的判断.导致往往一个接口动辄70-80行. 随便进行一个接口的修改, 调试, 参数的变更. 都将花费好几分钟的时间去缕缕中间的逻辑.加上同一个接口, 不同系统类型(主要是windows, Linux)涉及的技术栈不一样,同一个接口就有两个不同的代码风格的人进行编写. 最终导致代码结构, 函数,类乱七八糟. 刚好疫情期间, 人在湖北(欲哭无泪呀),时间充裕, 想着来进行一次代码重构. 先看一下最初的代码. 上面的代码:只是windows的部分代码. 因为还涉及到接口的公共参数校验, 不同迁移系统类型调用agent不同接口. 同一个接口使用了大量的if…else. 首先说明,接口本身并不复杂. 核心技术不在本篇范畴内. 有兴趣研究代码的或试用 腾讯云迁移平台的 (SmartMS),可以留言. 免费体验. 一.消除if…else 因为代码中涉及到太多的if…else. 本来想使用策略模式 + 工厂模式 ( 消除if…else ). 但是由于项目起始没有考虑代码设计模式, 导致现在改动会花费增加很大的工作量.

ajax请求后台,response.sendRedirect失效,无法重定向

梦想与她 提交于 2020-03-13 19:43:23
今天在写项目的时候,想加一个切换用户,需要清除session并且跳转到登录页面,发起一个ajax请求后,执行完发现无法跳转。 原因在于: (从网上摘录) Ajax只是利用脚本访问对应url获取数据而已,不能做除了获取返回数据以外的其它动作了。所以浏览器端是不会发起重定向的。 1)正常的http url请求,只有浏览器和服务器两个参与者。浏览器端发起一个http请求,服务器端处理后发起一个重定向,浏览器端从response中获取到重定向地址,发起另一个http url请求。也就是说,浏览器会按照response中的内容进行响应(如重定向),这是浏览器的功能决定的就得响应。 2)Ajax请求,参与者就有三个即ajax、客户端、服务器,ajax处于客户端和服务器两者之间。过程是客户端发起一个ajax请求,服务器端处理后,如果发起一个重定向,然后ajax会怎么办呢?它只会获取刚才请求返回的数据,其他的任何动作一概不去做,ajax是这么做的(ajax功能就是这么设定的,ajax框架源代码也是这么写的)。 也就是说,引入了ajax之后,ajax就插在浏览器和服务器之间了,服务器给浏览器的response被ajax拦截了,但是ajax本身却什么都不做,也不转达。 解决方法: 1.后台做完清除session后,传一个值给前台判断,在前台进行页面的跳转。 后台: @RequestMapping("

scrapy框架

一世执手 提交于 2020-03-13 18:43:16
一、介绍 Scrapy一个开源和协作的框架,其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的,使用它可以以快速、简单、可扩展的方式从网站中提取所需的数据。但目前Scrapy的用途十分广泛,可用于如数据挖掘、监测和自动化测试等领域,也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫。 Scrapy 是基于twisted框架开发而来,twisted是一个流行的事件驱动的python网络框架。因此Scrapy使用了一种非阻塞(又名异步)的代码来实现并发。整体架构大致如下 在Scrapy的数据流是由执行引擎控制,具体流程如下: 1、spiders产生request请求,将请求交给引擎 2、引擎(EGINE)吧刚刚处理好的请求交给了调度器,以一个队列或者堆栈的形式吧这些请求保存起来,调度一个出来再传给引擎 3、调度器(SCHEDULER)返回给引擎一个要爬取的url 4、引擎把调度好的请求发送给download,通过中间件发送(这个中间件至少有 两个方法,一个请求的,一个返回的), 5、一旦完成下载就返回一个response,通过下载器中间件,返回给引擎,引擎把response 对象传给下载器中间件,最后到达引擎 6、引擎从下载器中收到response对象,从下载器中间件传给了spiders

秋色园学习测试项目

倖福魔咒の 提交于 2020-03-13 11:24:24
小弟今年 6 月份刚刚毕业。前天刚刚开始接触 秋色园 这个开源框架,感觉收获颇多,在此写了一个测试项目,加上了一个自己写的路由机制。还望各位看官见笑了。 我的项目分为:UrlRewrite层,UrlRewriteModule层,WebUI 层。 UrlRewrite层用于当http 处于刚刚进来的时候用 HttpModule处理路由操作。 UrlRewriteModule层里面继承了一个HttpHandler为页面基类,在里面设定了整张页面的生命周期。 WebUI 层是 web 应用层。 如下图: 我的路由机制设定的URL 格式是这样的: ~/ 模块名 / 页面名(不加后缀) ? 参数 其中模块名如果你是在根目录下的如 Default.ashx 页面则为 Home ,其他是对应其文件夹名的如 AdminDefault.ashx 的模块名为 Admin 。 在第一次接受到 http 请求的时候交由 UrlRewrite里面的UrlRewrite处理。并且将get 方式获得的参数加请求的 URL 一起传过去。 public void Init(HttpApplication context) { context.BeginRequest += new EventHandler(context_BeginRequest); } void context_BeginRequest

07爬虫相关

邮差的信 提交于 2020-03-13 11:13:27
一. http/https相关知识 1. http与https 1)HTTP协议(HyperText Transfer Protocol,超文本传输协议):是一种发布和接收 HTML页面的方法。 2)HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)简单讲是HTTP的安全版,在HTTP下加入SSL层。 3)SSL(Secure Sockets Layer 安全套接层)主要用于Web的安全传输协议,在传输层对网络连接进行加密,保障在Internet上数据传输的安全。 2. get与post 1)GET是从服务器上获取数据,POST是向服务器传送数据 2)GET请求参数显示,都显示在浏览器网址上,HTTP服务器根据该请求所包含URL中的参数来产生响应内容,即“Get”请求的参数是URL的一部分。 例如: http://www.baidu.com/s?wd=Chinese 3)POST请求参数在请求体当中,消息长度没有限制而且以隐式的方式进行发送,通常用来向HTTP服务器提交量比较大的数据(比如请求中包含许多参数或者文件上传操作等),请求的参数包含在“Content-Type”消息头里,指明该消息体的媒体类型和编码, 注意:避免使用Get方式提交表单,因为有可能会导致安全问题。 比如说在登陆表单中用Get方式

关于通过pdf.js显示本地pdf文件和跨域获取文件

ε祈祈猫儿з 提交于 2020-03-13 11:10:55
不多说,项目需要展示本地pdf文件,因为浏览器兼容问题,就用了<iframe>直接打开了,不过最上面的toolbar是什么鬼啊,需求变更后又要求去掉什么下载之类的功能,然后就发现了pdf.js可以解决这个问题,不过只能打开项目里面的图片! 网上找了好多方法,比如set head,设置浏览器安全等级,设置php页面等等,但是并没有效果,然后看到论坛说后台用流处理一下可以解决这种跨域取文件的问题,所以解决办法就有了: 页面依然是打开viewer.html,不过file路径要换成后台处理的stream: 1 <iframe src="<c:url value="plugins/pdfjs/web/viewer.html" />?file=<%=basePath%>apply/lcappoint/pdfStreamHandeler.do" width="100%" height="800"></iframe> 然后,后台也很简单,就是获取file,转换成流,然后用response.getOutputStream.write()写到前台就好: @RequestMapping(value = "/pdfStreamHandeler") @ResponseBody public void pdfStreamHandeler(String filePath, HttpServletRequest

关于asp.net中*.ashx类型的文件

a 夏天 提交于 2020-03-13 06:17:23
问题:你想创建一个ASP.NET文件,它不是aspx文件,它能动态的返回一个图片、XML文件或其他非HTML文件。 解决方案:使用ashx文件。 1. 使用ASHX handlers 首先,我们要回顾要使用ASHX文件的目标,我们要做的是在一个地址中用ASHX文件并动态的返回内容。 我们将用到querystring,最后的地址格式为(例子): http://dotnetperls.com/?file=name 开始:通过这几个步骤你可以添加一个新的ashx文件:打开你的ASP.NET web site;右击项目选择 “Add New Item...”;将显示一个“Add New Item”的对话框,选择“Generic Handler”。此时,你就 会得到一个新的ashx文件。 2.自动生成代码 我们需要注意的是在ashx文件中自动生成的代码。它定义了IHttpHandler接口的两部分。非常重要的一 部分是ProcessRequest(),它将决定这个ashx文件是被请求还是被显示。你不能修改这个继承的接口或删 除它的方法。 3.映射handler 映射一个older URL或一个路径到你的新ashx文件通常是可取的。为了向后兼容和优化搜索引擎,你获取 希望这个handler能接管一个old URL。如何来实现呢?用urlMappings; <system.web>