api接口

Selenium操作测试对象

六月ゝ 毕业季﹏ 提交于 2019-12-05 19:37:52
目录 常用元素操作API 常用元素操作API 定位到元素后,需要对元素进行操作。一般来说,所有与页面交互的操作都将通过WebElement接口。 webdriver中常用的操作元素的方法有如下几个: from selenium.webdriver.common.by import By from selenium import webdriver driver=webdriver.Chrome() driver.get("https://www.baidu.com/") #send_keys():在对象上模拟按键输入 driver.find_element(By.CSS_SELECTOR,"#kw").send_keys("海贼王") 来源: https://www.cnblogs.com/TD1900/p/11941944.html

Spring Boot 项目的 API 接口防刷

别说谁变了你拦得住时间么 提交于 2019-12-05 19:10:44
首先是写一个注解类 拦截器中实现 注册到springboot中 在Controller中加入注解 说明:使用了注解的方式进行对接口防刷的功能,非常高大上,本文章仅供参考 一,技术要点:springboot的基本知识,redis基本操作, 首先是写一个注解类: import java.lang.annotation.Retention; import java.lang.annotation.Target; import static java.lang.annotation.ElementType.METHOD; import static java.lang.annotation.RetentionPolicy.RUNTIME; /** * @author yhq * @date 2018/9/10 15:52 */ @Retention(RUNTIME) @Target(METHOD) public @interface AccessLimit { int seconds(); int maxCount(); boolean needLogin()default true; } 拦截器 import com.alibaba.fastjson.JSON; import com.example.demo.action.AccessLimit; import com.example

[微信支付]微信各种支付小结

人走茶凉 提交于 2019-12-05 19:08:52
微信集成 退款接口 https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=9_4&index=4 证书申请 https://kf.qq.com/faq/161222NneAJf161222U7fARv.html API秘钥 秘钥,在微信支付平台上配置 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=3_1 H5支付-MWEB 流程 https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=15_4 微信要求 app_id:公众账号Id mch_id: 商户号 key: API秘钥 证书 扫码支付(付款吗支付)-MICROPAY 流程 https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=5_4 场景介绍:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=6_1 微信要求 open_id: 用户在商户appid下的唯一标识 app_id:公众账号Id mch_id: 商户号 key: API秘钥 证书 JSAPI支付-JSAPI 商户已有H5商城网站

Python3 网易有道词典结合PyInstaller,tkinter制作一个简单的中英文翻译exe文件

别等时光非礼了梦想. 提交于 2019-12-05 17:17:41
这是自己的一个小想法,但是最后还是经过2天的瞎鼓捣实验成果了。虽然界面很丑,但是我很喜欢它,因为有Dos黑窗口,少去了安装步骤,更多的是少去了广告,基于有道翻译里面的api接口,所以我不怕翻译的不准确啦 首先这里分三大步进行肢解: 一: 有道词典的API接口爬取: 二:tkinter 各种控件的使用: 三:PyInstaller 打包成exe文件,直接在桌面上进行应用: 首先:我们来获取有道词典的API接口; 打开网址: 网址 http://fanyi.youdao.com/ 这里通过HttpFox 拦截请求中我们可以看到,我们在网址: http://fanyi.youdao.com/ 中输入中国的时候,调用了post接口,这里的post 参数我把它特别的截出来了,其中key 为i 的value值 是一个乱码的,这里后面会一会就有讲到,里面post参数都有罗列。 相对于中文的翻译,英文的就很好的看到了, 我们可以直接看到对于i的value值为china 通过查看网页源代码的方式查看有道翻译的js文件,来查看salt和sign是怎么生成的 这里的sign值是进行了md5加密来着 贴上有道API代码的获取: # -*- coding: utf-8 -*- # @Time : 2017/8/28 0:42 # @Author : 蛇崽 # @Email : 17193337679@163

Spring 5 响应式编程

ぐ巨炮叔叔 提交于 2019-12-05 17:13:46
要点 Reactor 是一个运行在 Java8 之上的响应式流框架,它提供了一组响应式风格的 API 除了个别 API 上的区别,它的原理跟 RxJava 很相似 它是第四代响应式框架,支持操作融合,类似 RxJava 2 Spring 5 的响应式编程模型主要依赖 Reactor RxJava 回顾 Reactor 是第四代响应式框架,跟RxJava 2 有些相似。Reactor 项目由Pivotal 启动,以响应式流规范、Java8 和ReactiveX 术语表为基础。它的设计是Reactor 2(上一个主要版本)和RxJava 核心贡献者共同努力的结果。 在之前的同系列文章 RxJava 实例解析 和 测试RxJava 里,我们已经了解了响应式编程的基础:数据流的概念、Observable 类和它的各种操作以及通过工厂方法创建静态和动态的Observable 对象。 Observable 是事件的源头,Observer 提供了一组简单的接口,并通过订阅事件源来消费 Observable 的事件。Observable 通过 onNext 向 Observer 通知事件的到达,后面可能会跟上 onError 或 onComplete 来表示事件的结束。 RxJava 提供了 TestSubscriber 来测试 Observable,TestSubscriber 是一个特别的

ETCD:gRPC代理

若如初见. 提交于 2019-12-05 16:50:59
原文地址: gRPC proxy gRPC代理是在gRPC层(L7)运行的无状态etcd反向代理。代理旨在减少核心etcd群集上的总处理负载。对于水平可伸缩性,它合并了监视和租约API请求。 为了保护集群免受滥用客户端的侵害,它会缓存关键范围请求。 gRPC代理支持多个etcd服务器端点。 代理启动时,它会随机选择一个etcd服务器端点来使用.该端点将处理所有请求,直到代理检测到端点故障为止。 如果gRPC代理检测到端点故障,它将切换到其他端点(如果有)以向其客户端隐藏故障。 将来可能会支持其他重试策略,例如加权轮询。 可扩展的监视 API gRPC代理将同一键或范围上的多个客户端监视程序(c-watcher)合并为连接到etcd服务器的单个监视程序(s-watcher)。 代理将所有事件从S-watcher广播到其c-watcher。 假设N个客户端监视相同的密钥,则一个gRPC代理可以将etcd服务器上的监视负载从N减少到1。用户可以部署多个gRPC代理来进一步分配服务器负载。 在以下示例中,三个客户端监视键A。gRPC代理将三个监视程序合并,从而创建一个附加到etcd服务器的监视程序。 +-------------+ | etcd 服务器 | +------+------+ ^ 监视 key A (s-watcher) | +-------+-----+ | gRPC 代理

Java 8 Stream Api 中的 peek 操作

浪子不回头ぞ 提交于 2019-12-05 15:31:19
1. 前言 我在 Java8 Stream API 详细使用指南 中讲述了 Java 8 Stream API 中 map 操作和 flatMap 操作的区别。然后有小伙伴告诉我 peek 操作 也能实现元素的处理。但是你知道 map 和 peek 的区别吗? map 我们在开头文章已经讲过了,你可以去详细了解一下它,本文将重点讲解一下 peek 操作。 2. peek peek 操作接收的是一个 Consumer<T> 函数。顾名思义 peek 操作会按照 Consumer<T> 函数提供的逻辑去消费流中的每一个元素,同时有可能改变元素内部的一些属性。 这里我们要提一下这个 Consumer<T> 以理解 什么时消费。 2.1 什么是消费 (Consumer) package java.util.function; import java.util.Objects; @FunctionalInterface public interface Consumer<T> { void accept(T t); // 嵌套accept , 顺序为先执行 accept 后执行参数里的 after.accpet default Consumer<T> andThen(Consumer<? super T> after) { Objects.requireNonNull(after);

CBV到DRF视图函数/快速了解DRF

偶尔善良 提交于 2019-12-05 08:59:38
第一部分 问题 前后端分离? vue.js 后端给前段返回json数据 移动端盛行。 app 后端给app返回json数据 PC端应用? crm项目,前段后端一起写,运行在浏览器上。 一般情况下都是PC端使用。 第二部分 任务 以前的写的url : http://127.0.0.1:8000/info/get/ http://127.0.0.1:8000/info/add/ http://127.0.0.1:8000/info/update/ http://127.0.0.1:8000/info/delete/ 现在的我们:要遵循restful规范 http://127.0.0.1:8000/info/ get,获取数据 post,添加 put,更新 delete,删除 基于django可以实现遵循restful规范的接口开发: FBV,可以实现比较麻烦。 CBV,相比较简答根据method做的了不同的区分。 第三部分 初识drf 3.1 安装 pip3 install djangorestframework 3.2 使用 注册app INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions',

TP5内部异常API数据输出的自定义方法编写

一曲冷凌霜 提交于 2019-12-05 05:32:25
需求:利用postman进行请求api接口过程中 关于一些数据输出异常的情况下 我们希望通过自己编写一些类和方法 实现便于后端人员进行根据提示进行调试处理! 以下测试的时候 请设置 app_debug=>true ------------------------------------------------------------------------------------------------------------------------------------------- 新建一个test接口为例:位置在application\api\controller\Test.php(找不到位置就新建文件夹!) 这个test接口要创建对应的路由 位置在:application\route.php 假如我 请求test接口下的save方法 接受返回的信息 我需要自行组织 比如 public function save(){ return [ 'status'=>1, 'message'=>'OK', 'data'=>input('post.') ]; } 这样postman接受返回的信息长这样 这样非常的麻烦 因此我们可以封装一个公共的方法 调用的时候进行传参即可 我们封装一个函数到公共函数文件中common.php 这个文件的位置在application\common.php

咏南跨平台中间件REST API

可紊 提交于 2019-12-05 04:28:28
主旨 ... 1 查询数据接口 ... 1 功能 ... 1 JSON 样式 ... 2 返回值 ... 3 DELPHI调用示例 ... 3 提交数据接口 ... 4 功能 ... 4 JSON样式 ... 4 返回值 ... 4 下载文件接口 ... 5 功能 ... 5 JSON样式 ... 5 返回值 ... 5 DELPHI调用示例 ... 5 上传文件接口 ... 6 功能 ... 6 DELPHI调用示例 ... 6 返回值 ... 6 主旨 1)为了中间件支持跨操作系统部署,客户端支持跨操作系统、跨设备、跨开发语言,特制订本 REST API规约。 2)所有接口均支持 HTTP GET\POST调用。 3)调用示例为 DELPHI代码,其他语言可参照编写。 4) JSON字符串的字符编码统一为 UTF8。 5)因作者水平有限,不虑之处,恳请指正。 6)其他接口,可参照定义。 查询数据接口 功能 可以一次查询返回 1~N个表的数据,支持主从表数据查询。 JSON 样式 cols:字段定义,包括字段的名称、长度和类型。 rows:表数据。 { "tables": [ { "cols": [ { "name": "goodsid", "size": 8, "type": "string" }, { "name": "goodsname", "size": 50,