curl

让脚本睡100ms

时光总嘲笑我的痴心妄想 提交于 2020-07-29 10:48:53
故事背景   当我们需要对所开发的服务进行一些简易的自动化测试,但是又不算是压力测试时,我们常常会编写这样的脚本: ... while read line; do curl -H "Accept: application/json" -H "Content-type: application/json" -X POST -d $line http://localhost:6666/test -s done <${test_data_file} ... 存在问题   如果这个请求只涉及到很简单的服务器信息返回,倒也问题不大,但是往往我们测试的内容会涉及数据库的交互,尤其是MySQL这种需要多加看护,防止瘫痪的数据库。上面的脚本极有可能让数据库集群出现或者加剧主从不同步的问题。我们需要让这个脚本能够睡一会儿,哪怕一小会儿。保证MySQL的cpu和io不会飙高。   那我们根据实际的测试和考量,决定让脚本睡100ms,故上面的代码改成了下面这样: ... while read line; do sleep 0.1 curl -H "Accept: application/json" -H "Content-type: application/json" -X POST -d $line http://localhost:6666/test -s done <${test_data

使用Ocelot、IdentityServer4、Spring Cloud Eureka搭建微服务网关:Step by Step(二)

空扰寡人 提交于 2020-07-29 07:18:29
本文继续介绍使用Ocelot、IdentityServer4以及Spring Cloud Eureka搭建微服务网关的步骤。相关文章: 《 使用Ocelot、IdentityServer4、Spring Cloud Eureka搭建微服务网关:Step by Step(一) 》 Step 4:引入Ocelot API网关 新建一个ASP.NET Core API项目,添加对以下NuGet包的引用: Ocelot IdentityServer4 IdentityServer4.AccessTokenValidation Serilog(我使用了Serilog来输出格式化的日志,如果不使用Serilog,则不需要引用) 首先,修改Startup.cs文件,用来启用Ocelot,并指定身份认证机构为之前我们建好的IdentityServer服务: public void ConfigureServices(IServiceCollection services) { services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); services.AddAuthentication() .AddIdentityServerAuthentication("AuthProviderKey",

Windows系统向ElasticSearch bulk批量同步数据

荒凉一梦 提交于 2020-07-29 03:26:35
我们知道,通过API可以实现对ElasticSearch批量增删查改操作。但是,我们在测试环境需要手动向ES中批量写入数据,常用的head或kopf插件则显得心有余而力不足。本文将详细介绍一种不依赖于API的批量处理方式。 1.整体思路 保存需要批量处理的数据到json文件 通过crud命令向ES服务器发送_bulk请求 1.1保存需要批量操作的数据到json文件 文件格式如下: {“index”:{"_index": “test_damon_v1”, “_type”: “test_damon”, “_id”:“4”}} {“plant”: “F131”,“stb_version”: “4444444444”} 两行数据构成了一次操作,第一行是操作类型可以index,create,update;第二行就是我们的可选的数据体。 如果是delete操作,只有一行数据,因为只需要提供一个id即可。 注意: 每一行数据结束,必须换行,否则对应数据会执行失败 官方建议 bulk 批次最好不要超过15MB 2.Windows系统安装curl curl下载地址: https://curl.haxx.se/download.html 建议下载如图所示版本: 下载完成以后是一个后缀名为.cab的文件;然后解压缩。 配置环境变量 检测是否安装成功 在cmd界面输入命令curl --help,显示如下图

BAIR最新RL算法超越谷歌Dreamer,性能提升2.8倍

生来就可爱ヽ(ⅴ<●) 提交于 2020-07-29 02:21:38
pixel-based RL 算法逆袭,BAIR 提出将对比学习与 RL 相结合的算法,其 sample-efficiency 匹敌 state-based RL。 选自arXiv,作者:Aravind Srinivas等,机器之心编译,参与:Racoon、Jamin。 此次研究的本质在于回答一个问题—使用图像作为观测值(pixel-based)的 RL 是否能够和以坐标状态作为观测值的 RL 一样有效?传统意义上,大家普遍认为以图像为观测值的 RL 数据效率较低,通常需要一亿个交互的 step 来解决 Atari 游戏那样的基准测试任务。 研究人员介绍了 CURL:一种用于强化学习的无监督对比表征。CURL 使用对比学习的方式从原始像素中提取高阶特征,并在提取的特征之上执行异策略控制。在 DeepMind Control Suite 和 Atari Games 中的复杂任务上, CURL 优于以前的 pixel-based 的方法(包括 model-based 和 model-free),在 100K 交互步骤基准测试中,其性能分别提高了 2.8 倍以及 1.6 倍 。在 DeepMind Control Suite 上,CURL 是第一个几乎与基于状态特征方法的 sample-efficiency 和性能所匹配的基于图像的算法。 论文链接: https:// arxiv.org

Visual Studio(VS2017)编译并使用curl C/C++ HTTP GET POST libcurl(一、编译)

↘锁芯ラ 提交于 2020-07-28 20:49:20
一、编译 Visual Studio(VS2017)编译并使用curl C/C++ HTTP GET POST libcurl 二、调用示例 Visual Studio(VS2017)编译并使用curl C/C++ HTTP GET POST libcurl 承接各类STM32项目、JAVA、C++、Android、微信、Linux,毕业设计开发 手机:18559979152(微信同号) VC网络开发中经常遇到网络请求,文件上传下载等需求,虽然通过socket可以自己写代码实现,但周期、稳定性、不同协议都是很大的问题,用来学习练手不错,实际项目应用中还是用第三方开源库更方便快捷。 libcurl主要功能就是用不同的协议连接和沟通不同的服务器。也就是相当封装了的sockPHP 支持libcurl(允许你用不同的协议连接和沟通不同的服务器)。 libcurl当前支持DICT,FTP,FTPS,Gopher,HTTP,HTTPS,IMAP,IMAPS,LDAP,LDAPS,MQTT,POP3,POP3S,RTMP,RTMPS,RTSP,SCP,SFTP,SMB,SMBS,SMTP,SMTPS,Telnet和TFTP。 curl支持SSL证书,HTTP POST,HTTP PUT,FTP上传,基于HTTP表单的上传,代理,HTTP / 2,HTTP / 3,Cookie,用户+密码验证

PHP版本Google广告admob服务端回调验证SSV

橙三吉。 提交于 2020-07-28 19:03:27
老文章,搬运到这里而已。 因业务需要接入Google的激励广告,涉及Google回调的服务器端验证 (SSV) server side verifiy。 Python版本的基于第三方包ecdsa开箱即用,PHP版本也有一个ecdsa库,但是过于复杂。 想到之前做支付宝支付,google支付的openssl rsa密钥签名校验。还是自己来写个简单实用的。 Google公钥的地址: https://www.gstatic.com/admob/reward/verifier-keys.json 注意: AdMob 密钥服务器提供的公钥会不定期轮换。为确保可以继续按预期验证 SSV 回调,请勿使公钥的缓存时间超过 24 小时。 Google 预计您的服务器会针对 SSV 回调返回 HTTP 200 OK 成功状态响应代码。如果您的服务器无法访问或未提供预期的响应,Google 将重新尝试发送 SSV 回调,每隔 1 秒发送最多 5 次。 用回调参数中key_id 取对应公钥,进行签名验证。 获取公钥可以使用curl 或 file_get_contents 函数,推荐使用curl。 这里就不再写获取公钥的代码了,直接copy过来使用。 完整代码如下: // Google admob 公钥 $verifier_keys = '{"keys":[{"keyId":3335741209,"pem"

API 网关 Kong

僤鯓⒐⒋嵵緔 提交于 2020-07-28 18:59:31
什么是 API 网关? 所谓网关,主要作用就是连接两个不同网络的设备,而今天所讲的 API 网关是指承接和分发客户端所有请求的网关层。 为什么需要网关层?最初是单体服务时,客户端发起的所有请求都可以直接请求到该服务,但随着产品用户越来越多,单体应用存在显而易见的单点问题,除此之外,当单体应用大小升至几个 G 时,持续发布将会非常缓慢,所以服务的拆分成为了必然趋势。 当服务拆分为多个之后,我们不得不面临一个问题,就是如何控制用户请求到对应服务节点,于是网关层应运而生,它不仅可以负责负载均衡,还可以让它处理认证校验、请求限流、日志记录以及监控服务节点等等。 当然,网关层并不需要我们手动实现,市面上有很多 API 网关开源项目,比如 Zuul、Kong、Tyk 等,今天主要介绍 Kong。 安装 Kong Kong 是一个在 Nginx 中运行的 Lua 程序,由 lua-nginx-module 实现,和 Openresty 一起打包发行,支持多种操作环境下的安装,可以用来做 HTTP 基本认证、密钥认证、TCP、UDP、文件日志、API 请求限流、请求转发等等。 第一步,创建一个 docker 网络。 $ docker network create kong-net 创建用于存储 Kong 数据的数据库,可以使用 Cassandra 或 PostgreSQL,本示例采用

在已经编译安装好php7场景下安装curl扩展

浪子不回头ぞ 提交于 2020-07-28 17:55:52
在已经编译安装好php7场景下安装curl扩展 cd /root/php7/php-7.2.31/ext/curl #从php官网下载php源码安装包 /usr/local/php746/bin/phpize #已经安装好的phpize的路径 yum install libcurl-devel #没有这个会报错 for cURL 7.10.5 or greater... configure: error: cURL version 7.10.5 or later is required to compile php with cURL suppor configure --with-php-config=/usr/local/php746/bin/php-config make make test make install 来源: oschina 链接: https://my.oschina.net/u/4343139/blog/4302704

1家可能不足20人公司的运维笔试题

醉酒当歌 提交于 2020-07-28 13:24:37
1、播放声音文件脚本 执行1.sh test.wav,ssh登陆到192.168.1.1服务器,root密码是123456,播放/home/temp目录下的test.wav文件,注意test.wav是变量,不是常量。 【之前没有用过linux环境的音视频环境,百度了一下,涉及的知识还是很多的。没做出来。】 2、拷贝文件脚本 执行2.sh test.txt,将/home/hello/temp目录下文件使用rsync指令ssh方式远程同步到192.168.1.1服务器的/home/ftp目录下,登陆192.168.1.1的root账号密码是123456,注意test.txt文件是变量,不是常量。 sshpass -p 123456 rsync -avzP -e 'ssh -p 22' root@192.168.1.1:/home/ftp/ /home/hello/temp 3、ping测脚本 执行3.sh 192.168.1.1 10 20,ping测192.168.1.1主机20次,时间间隔10秒,每次ping3个包,并将每次ping测结果列成一行,以YYYY_MM_DD_HH_MM_SS_PING.txt存储文件。 vi 3.sh #!/bin/bash interval=$1 count=$2 ping -c $count -i $interval 192.168.1.1 >

阿里云ECS训练营Day3学习笔记

半世苍凉 提交于 2020-07-28 12:31:31
1,三个必用软件 (1)PUTTY:PuTTY 是⾃由的跨平台 Telnet/SSH 客户端,同时在 Win32 和 Unix 系统下模拟 xterm 终端 (2) Filezilla:通过 SFTP 协议进⾏本地和服务器的⽂件传输和管理。 (3)VS Code:说可视化的 Visual Studio Code,可以更⾼效的进⾏代码编辑和管理。 2.部署Web IDE代码环境 1,更换ECS镜像 2,安装Docker环境 首先,登录你的服务器,然后输入curl -sSL https://get.daocloud.io/docker |sh 。然后输入curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.4/docker compose- uname -s - uname -m > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose(安装 Docker-Compose 环境,其中 1.25.3 可以根据 最新版本 修改) 部署coder-server 1.创建项⽬⽂件夹: mkdir -p /home/coder/project 2.在 Docker 中运⾏: docker run -it -p 80:8080 -