post请求

HttpClient Post 提交表单数据

淺唱寂寞╮ 提交于 2020-01-21 16:07:23
运行环境 .net 4.6.1 //为防止因HTTPS证书认证失败造成API调用失败,需要先忽略证书信任问题 var sslHandler = new HttpClientHandler() { }; sslHandler.ClientCertificateOptions = ClientCertificateOption.Manual; ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(delegate { return true; }); HttpClient client = new HttpClient(sslHandler, true); //请求Headers client.DefaultRequestHeaders.Add("Authorization", "WSSE realm=\"SDP\",profile=\"UsernameToken\",type=\"Appkey\""); //请求Body var body = new Dictionary <string,string> () { { "from", "sender" }, { "to", "receiver" } }; HttpContent content

Flask 快速上手文档3

风格不统一 提交于 2020-01-21 04:50:29
渲染模板 在 Python 内部生成 HTML 不好玩,且相当笨拙。因为你必须自己负责 HTML 转义, 以确保应用的安全。因此, Flask 自动为你配置 Jinja2 模板引擎。 使用 render_template() 方法可以渲染模板,你只要提供模板名称和需要 作为参数传递给模板的变量就行了。下面是一个简单的模板渲染例子: from flask import render_template @app.route('/hello/') @app.route('/hello/<name>') def hello(name=None): return render_template('hello.html', name=name) Flask 会在 templates 文件夹内寻找模板。因此,如果你的应用是一个模块, 那么模板文件夹应该在模块旁边;如果是一个包,那么就应该在包里面: 情形 1 : 一个模块: /application.py /templates /hello.html 情形 2 : 一个包: /application /__init__.py /templates /hello.html 你可以充分使用 Jinja2 模板引擎的威力。更多内容,详见官方 Jinja2 模板文档 。 模板示例: <!doctype html> <title>Hello from

restful 架构详解

两盒软妹~` 提交于 2020-01-21 04:29:22
场景:因为自己做的后台,一直有为前端提供接口,一直知道用的是restful框架,可是没有深入理解,先整理如下。 转载自:http://kb.cnblogs.com/page/512047/ http://kb.cnblogs.com/page/521718/ 1. 什么是REST   REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。 它首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是HTTP规范的主要编写者之一。 他在论文中提到:“我这篇文章的写作目的,就是想在符合架构原理的前提下,理解和评估以网络为基础的应用软件的架构设计,得到一个功能强、性能好、适宜通信的架构。REST指的是一组架构约束条件和原则。” 如果一个架构符合REST的约束条件和原则,我们就称它为RESTful架构。   REST本身并没有创造新的技术、组件或服务,而隐藏在RESTful背后的理念就是使用Web的现有特征和能力, 更好地使用现有Web标准中的一些准则和约束。虽然REST本身受Web技术的影响很深, 但是理论上REST架构风格并不是绑定在HTTP上,只不过目前HTTP是唯一与REST相关的实例。 所以我们这里描述的REST也是通过HTTP实现的REST。    2. 理解RESTful  

JS 08表单操作_表单域

痞子三分冷 提交于 2020-01-20 17:35:16
一、表单的获取方式 document.getElementById() document.forms[index]; document.forms[form_name] document.form_name function testGetForm() { var frm = document.getElementById("regForm"); // 常用 console.log(frm); frm = document.forms[0]; console.log(frm); frm = document.forms["aaform"]; console.log(frm); frm = document.aaform; // 常用,仅表单可以通过name属性获取 console.log(frm); } 二、表单对象的属性 action :表单提交的地址 method :表单的提交方式:get(默认)、post get方式和post方式的区别 1.get方式会将提交的数据以(?name1=value1&name2=value2...)放在url后面 post方式会将数据以(name1=value1&name2=value2...)放在“请求实体”中 2.get将数据放在url后,由于url是有长度的,且url是可见,所以get方式不适合发送一些敏感数据 post方式将数据放在

springmvc

 ̄綄美尐妖づ 提交于 2020-01-19 18:50:02
SpringMVC 第一章 1.1 三层架构 表现层:web层,用来和客户端进行数据交互的,一般采用MVC的设计模式 业务层:处理公司具体的业务逻辑的 持久层:操作数据库的 1.2 MVC模型 Model:用来进行数据封装 View:用来展示数据给用户 Controller:用来接收用户请求,整个流程的控制器,进行数据校验等 1.3 SpringMVC的优势 清晰的角色划分 前端控制器(DispatcherServlet) 控制流程的中心,有它调用其他组件处理用户的请求,解耦 请求到处理器映射(HandlerMapping) 负责根据用户请求找到Handler即处理器,SpringMVC 提供了不同的映射器实现不同的 映射方式,例如:配置文件方式,实现接口方式,注解方式等 处理器(Handler) 由DispatcherServlet把用户请求转发到Handler,由Handler对具体的用户请求进行处理 处理器适配器(HandlerAdapter) 充当接口作用 视图解析器(ViewResolver) 负责将处理结果生成 View 视图,View Resolver 首先根据逻辑视图名解析成物理视图名 即具体的页面地址,再生成 View 视图对象,最后对 View 进行渲染将处理结果通过页面展示给用户 视图(view) SpringMVC 框架提供了很多的 View 视图类型的支持

PHP curl的一次简单实例

寵の児 提交于 2020-01-19 03:59:01
本人在写短信接口的时候 用到了 curl操作 代码如下 用POST请求的 <?php $post = array ( 'accesskey' = > '' , // 接口的accesskey的值 一般在控制台可见 'secret' = > '' , // 秘钥 同样是在控制台可见 'sign' = > '' , // 签名ID 控制台里面看 'templateId' = > '' , // 模板ID 控制台里面模板管理 'mobile' = > '' , // 短信接收号码 'content' = > '' , // 模板里面的内容 我用的是云短信平台的 参数一定要用##隔开 ) ; $url = '' ; // 请求的api地址 $ch = curl_init ( $url ) ; curl_setopt ( $ch , CURLOPT_RETURNTRANSFER , 1 ) ; //返回数据不直接输出 curl_setopt ( $ch , CURLOPT_POST , 1 ) ; //发送POST类型数据 curl_setopt ( $ch , CURLOPT_POSTFIELDS , $post ) ; //POST数据,$post可以是数组,也可以是拼接 $content = curl_exec ( $ch ) ; //执行并存储结果 curl_close ( $ch

由浅及深学习 elasticSearch 原理

烈酒焚心 提交于 2020-01-18 02:26:54
第三节 ElasticSearch原理 3.1 解析es的分布式架构 3.1.1 分布式架构的透明隐藏特性 ElasticSearch是一个分布式系统,隐藏了复杂的处理机制 分片机制:我们不用关心数据是按照什么机制分片的、最后放入到哪个分片中 分片的副本: 集群发现机制(cluster discovery):比如当前我们启动了一个es进程,当启动了第二个es进程时,这个进程作为一个node自动就发现了集群,并且加入了进去 shard负载均衡:比如现在有10shard,集群中有3个节点,es会进行均衡的进行分配,以保持每个节点均衡的负载请求 请求路由 3.1.2 扩容机制 垂直扩容:购置新的机器,替换已有的机器 水平扩容:直接增加机器 3.1.3 rebalance 增加或减少节点时会自动均衡 3.1.4 master节点 主节点的主要职责是和集群操作相关的内容,如创建或删除索引,跟踪哪些节点是群集的一部分,并决定哪些分片分配给相关的节点。稳定的主节点对集群的健康是非常重要的。 3.1.5 节点对等 每个节点都能接收请求 每个节点接收到请求后都能把该请求路由到有相关数据的其它节点上 接收原始请求的节点负责采集数据并返回给客户端 3.2 分片和副本机制 1.index包含多个shard 2.每个shard都是一个最小工作单元,承载部分数据;每个shard都是一个lucene实例

node实例-登录及信息获取

那年仲夏 提交于 2020-01-17 23:49:24
上篇文章中介绍了node的部分模块,这里通过一个简单的实例,把各个模块关联起来,给大家展示一下node是如何实现后端接口的。本实例中分别展示了一个post请求(登录)和一个get请求(获取信息)。 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>node接口案例</title> </head> <body> <form> 用户名:<input id="username" type="input" name="username"> 密码:<input id="password" type="password" name="password"> <button id="login">登录</button> </form> </body> <script type="text/javascript" src="node_modules/jquery/dist/jquery.min.js"></script> <script type="text/javascript"> $('#login').click(function () { $.ajax({ url:'/login', data:{ username:$('#username').val(), password:$('#password').val() },

Python爬虫实战五之模拟登录淘宝并获取所有订单

笑着哭i 提交于 2020-01-17 16:07:19
经过多次尝试,模拟登录淘宝终于成功了,实在是不容易,淘宝的登录加密和验证太复杂了,煞费苦心,在此写出来和大家一起分享,希望大家支持。 温馨提示 更新时间,2016-02-01,现在淘宝换成了滑块验证了,比较难解决这个问题,以下的代码没法用了,仅作学习参考研究之用吧。 本篇内容 1. python模拟登录淘宝网页 2. 获取登录用户的所有订单详情 3. 学会应对出现验证码的情况 4. 体会一下复杂的模拟登录机制 探索部分成果 1. 淘宝的密码用了AES加密算法,最终将密码转化为256位,在POST时,传输的是256位长度的密码。 2. 淘宝在登录时必须要输入验证码,在经过几次尝试失败后最终获取了验证码图片让用户手动输入来验证。 3. 淘宝另外有复杂且每天在变的 ua 加密算法,在程序中我们需要提前获取某一 ua 码才可进行模拟登录。 4. 在获取最后的登录 st 码时,历经了多次请求和正则表达式提取,且 st 码只可使用一次。 整体思路梳理 1. 手动到浏览器获取 ua 码以及 加密后的密码,只获取一次即可,一劳永逸。 2. 向登录界面发送登录请求,POST 一系列参数,包括 ua 码以及密码等等,获得响应,提取验证码图像。 3. 用户输入手动验证码,重新加入验证码数据再次用 POST 方式发出请求,获得响应,提取 J_Htoken。 4. 利用 J_Htoken 向 alipay

Python开发【Django】:Form组件

半城伤御伤魂 提交于 2020-01-17 14:16:44
Form组件 Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 创建Form类时,主要涉及到 【字段】 和 【插件】,字段用于对用户请求数据的验证,插件用于自动生成HTML; 1、内置字段 Field required=True, 是否允许为空 widget=None, HTML插件 label=None, 用于生成Label标签或显示内容 initial=None, 初始值 help_text='', 帮助信息(在标签旁边显示) error_messages=None, *错误信息 {'required': '不能为空', 'invalid': '格式错误'} show_hidden_initial=False, 是否在当前插件后面再加一个隐藏的且具有默认值的插件(可用于检验两次输入是否一直) validators=[], *自定义验证规则 下面有介绍具体用法 localize=False, 是否支持本地化 disabled=False, 是否可以编辑 label_suffix=None Label内容后缀 *注:继承field的字段 field里面的参数都可以用 CharField(Field) max_length=None, 最大长度 min_length=None,