post请求

ETCD:HTTP JSON API通过gRPC网关

你说的曾经没有我的故事 提交于 2019-11-26 12:29:58
原文地址: HTTP JSON API through the gRPC gateway etcd v3 使用 gRPC 作为消息协议。etcd项目包括一个基于gRPC的 Go客户端 和一个命令行工具, etcdctl ,通过gRPC与etcd集群进行交互.对于没有gRPC支持的语言,etcd提供JSON gRPC网关 ,这个网关提供一个RESTful风格的代理可以将HTTP/JSON请求转换为gRPC消息。 使用 gRPC网关 这个网关接受一个到etcd's buffer协议消息定义的JSON格式的映射,注意 Key 和 Value 字段定义为byte 数组,因此JSON必须使用base64编码,下面的例子使用 curl ,但是每个HTTP/JSON客户端的工作原理都和例子相同。 注意 gRPC网关节点从etcd v3.3发生变化: etcd v3.2以及之前版本只使用 [CLIENT-URL]/v3alpha/* 。 etcd v3.3使用 [CLIENT-URL]/v3beta/* 保持 [CLIENT-URL]/v3alpha/* 使用。 etcd v3.4使用 [CLIENT-URL]/v3/* 保持 [CLIENT-URL]/v3beta/* 使用。 [CLIENT-URL]/v3alpha/* 被抛弃使用。 etcd v3.5以及最新版本只使用 [CLIENT-URL

SSRF利用 Gopher 协议拓展攻击面

送分小仙女□ 提交于 2019-11-26 05:53:01
1 概述 Gopher 协议可以做很多事情,特别是在 SSRF 中可以发挥很多重要的作用。利用此协议可以攻击内网的 FTP、Telnet、Redis、Memcache,也可以进行 GET、POST 请求。这无疑极大拓宽了 SSRF 的攻击面。 gopher:gopher协议支持发出GET、POST请求:可以先截获get请求包和post请求包,再构造成符合gopher协议的请求。gopher协议是ssrf利用中一个最强大的协议(俗称万能协议) Gopher 协议是 HTTP 协议出现之前,在 Internet 上常见且常用的一个协议。在ssrf时常常会用到gopher协议构造post包来攻击内网应用。其实构造方法很简单,与http协议很类似。 不同的点在于 gopher协议没有默认端口,所以需要指定web端口,而且需要指定post方法。回车换行使用%0d%0a。注意post参数之间的&分隔符也要进行url编码 基本协议格式: URL:gopher://<host>:<port>/<gopher-path>_后接TCP数据流 简单实例 gopher协议简单应用 gopher:// < host > : < port > / < gopher-path > _后接TCP数据流 $ curl gopher://localhost:2222/hello%0agopher $ nc -lvvp

微服务系列 - 转贴: RESTful Service API 设计最佳工程实践和常见问题解决方案

有些话、适合烂在心里 提交于 2019-11-26 04:44:12
https://www.jianshu.com/p/cf80d644727e 有兴趣的可以读下英文参考文档 http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api RESTful Service API 设计最佳工程实践和常见问题解决方案 前面两篇内容(RESTful Web Service 架构剖析和HTTP Methods 和 RESTful Service API 设计)介绍了 RESTful Service 的基础概念和理论知识,本篇内容打算总结 RESTful Service APIs 设计最佳工程实践和常见问题的解决方案,侧重点是帮助读者更加有效的解决实际工程问题和如何快速设计一套优秀易用的 APIs。 为了有个讨论的标准和设计目标,我们先来定义下一套优秀的的 RESTful APIs 应该是什么样子: 尽可能的遵守有关 WEB 规范和常见约定; 调用接口简单明了,可读性强,没有歧义; 不同 API 风格保持一致,调用规则,传入参数和返回数据有统一的标准; 能够为客户端提供简单灵活的数据访问方式; 有一定的容错性和防止非法参数功能; 高效,安全可靠,容易扩展。 [长文预警]阅读本文可能需要半个小时以上,如果你没有时间从头读到尾,可以先收藏或看看目录,遇到你关注的问题再详细看起。 API

CURL命令模拟Http Get/Post以及带cookies调用接口

好久不见. 提交于 2019-11-25 23:23:41
在对后端程序进行测试的时候,需要进行模拟连接或者书写测试脚本. curl是一个很棒的命令. 例如目标网站Url: 127.0.0.1:8080/check_your_status?user=Summer&passwd=12345678 通过Get方法请求: curl protocol://address:port/url?args curl http://127.0.0.1:8080/check_your_status?user=Summer&passwd=12345678 通过Post方法请求: curl -d "args" "protocol://address:port/url" curl -d "user=Summer&passwd=12345678" " http://127.0.0.1:8080/check_your_status " 这种方法是参数直接在header里面的 如需将输出指定到文件可以通过重定向进行操作. curl -H "Content-Type:application/json" -X POST --data (json.data) URL curl -H "Content-Type:application/json" -X POST --data '{"message": "sunshine"}' http://localhost:8000/

基于k8s Prometheus+Grafana+Altermanager钉钉报警

你。 提交于 2019-11-25 21:55:26
相关推荐 1. 使用Prometheus Operator监控kubetnetes集群 2. 使用Prometheus Operator实现应用自定义监控 一、概述 Alertmanager与Prometheus是相互分离的两个组件。Prometheus服务器根据报警规则将警报发送给Alertmanager,然后Alertmanager将silencing、inhibition、aggregation等消息通过电子邮件、dingtalk和HipChat发送通知。 Alertmanager处理由例如Prometheus服务器等客户端发来的警报。它负责删除重复数据、分组,并将警报通过路由发送到正确的接收器,比如电子邮件、Slack、dingtalk等。Alertmanager还支持groups,silencing和警报抑制的机制。 钉钉作为内部通讯工具,基本上大家在电脑和手机上都能用,消息可以第一时间查看,报警消息的即时性要求比较高,所以适合用钉钉通知。 二、添加钉钉机器人 请参考官方文档: 自定义机器人 添加机器人后获取机器人的hook(机器人好像只能在钉钉群里面添加),在后面部署会用到。 机器人hook: https://oapi.dingtalk.com/robot/send?access_token=xxxxxx 三、配置Alertmanager

【Django】AJAX -- 2019-08-07 10:44:18

吃可爱长大的小学妹 提交于 2019-11-25 20:10:44
目录 JSON 序列化 stringify 反序列化 parse JSON与XML对比 AJAX简介 AJAX常见应用场景 jQuery实现AJAX JS实现AJAX AJAX请求设置csrf_token 方法一 方法二 方法三 AJAX其它实例 上传文件实例 判断用户名是否已被注册 原创: http://106.13.73.98/__/42/ @ * 补充Django内置的两个装饰器方法:** from django.views.decorators.csrf import csrf_exempt, csrf_protect # csrf_exempt:给指定视图排除csrf校验 csrf_protect:指定某个视图必须csrf校验 # 注意:如果时CBV,则必须装饰到dispatch方法上 使用ensure_csrf_cookie()装饰器可以强制设置csrf到Cookie: django.views.decorators.csrf import ensure_csrf_cookie @ensure_csrf_cookie def login(request): pass DJango内置的序列化方法: from django.core import serializers def user_list(request): user_list = models.Userinfo