post请求

web安全

一笑奈何 提交于 2019-12-02 02:01:56
Cross Site Request Forgery (CSRF) 跨站请求伪造. 攻击例子 考虑以下请求, 登陆后通过下面的请求进行转账操作. POST /transfer HTTP/1.1 Host: bank.example.com Cookie: JSESSIONID=randomid; Domain=bank.example.com; Secure; HttpOnly Content-Type: application/x-www-form-urlencoded amount=100.00&routingNumber=1234&account=9876 如果在没有退出登陆的情况下,登陆了另外一个网站,在网站中有如下一个按钮: <form action="https://bank.example.com/transfer" method="post"> <input type="hidden" name="amount" value="100.00"/> <input type="hidden" name="routingNumber" value="evilsRoutingNumber"/> <input type="hidden" name="account" value="evilsAccountNumber"/> <input type="submit" value

aiohttp的使用

一个人想着一个人 提交于 2019-12-01 22:26:23
目录 1.aiohttp的简单使用(配合asyncio模块) 2.发起一个session请求 3.在url中传递参数(其实与requests模块使用大致相同) 4.获取响应内容(由于获取响应内容是一个阻塞耗时过程,所以我们使用await实现协程切换) 5.特殊响应内容json(和上面一样) 6.字节流形式获取数据(不像text,read一次获取所有数据) 7.自定义请求头(和requests一样) 8.自定义cookie 9.获取当前访问网站的cookie 10.获取网站的响应状态码 11.查看响应头 12.查看重定向的响应头(我们此时已经到了新的网址,向之前的网址查看) 13.超时处理 14.ClientSession 用于在多个连接之间(同一网站)共享cookie,请求头等   总结: 15.cookie的安全性 16.控制同时连接的数量(连接池) 17.自定义域名解析地址 18.设置代理 19.post传递数据的方法   (1)模拟表单   (2)post json   (3)post 小文件   (4)post 大文件   (5)从一个url获取文件后,直接post给另一个url   (6)post预压缩数据 1.aiohttp的简单使用(配合asyncio模块) import asyncio,aiohttp async def fetch_async(url):

JAVA POST请求

半城伤御伤魂 提交于 2019-12-01 19:42:46
package com.hxwy.erp.common.utils;import com.alibaba.fastjson.JSONObject;import org.springframework.util.StreamUtils;import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.HttpStatus;import org.apache.commons.httpclient.NameValuePair;import org.apache.commons.httpclient.methods.PostMethod;import java.nio.charset.Charset;import java.util.ArrayList;import java.util.List;import java.util.Map;public class HttpClientUtils { public static JSONObject doPost(String url, JSONObject json) { HttpClient httpClient = new HttpClient(); PostMethod method = new PostMethod(url);

后端开发工程师面试题汇总 | 网络知识

本秂侑毒 提交于 2019-12-01 18:13:01
无论做前端开发还是后端开发,网络知识是必备的知识。这部分知识是基础中的基础,是我们必须掌握的内容。网络相关的问题也是在面试过程中经常被问到的内容。本文主要梳理了一下网络相关的主要知识点及面试中经常被问到的内容,希望对大家有所帮助。 OSI有哪几层,会画出来,知道主要几层的各自作用 OSI(Open System Interconnect),即开放式系统互联,是ISO(国际标准化组织)组织在1985年研究的网络互连模型。其一共有7层: 1. 应用层(数据):确定进程之间通信的性质以满足用户需要以及提供网络与用户应用 2. 表示层(数据):主要解决拥护信息的语法表示问题,如加密解密 3. 会话层(数据):提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制,如服务器验证用户登录便是由会话层完成的 4. 运输层(段):实现网络不同主机上用户进程之间的数据通信,可靠 与不可靠的传输,传输层的错误检测,流量控制等 5. 网络层(包):提供逻辑地址(IP)、选路,数据从源端到目的端的 传输 6. 数据链路层(帧):将上层数据封装成帧,用MAC地址访问媒介,错误检测与修正 7. 物理层(比特流):设备之间比特流的传输,物理接口,电气特性等* TCP/IP有哪几层,会画出来,知道所有层数的作用,会列举各层主要的协议名称 TCP/IP分层模型(TCP/IP Layening Model

使用axios请求数据,post请求出错。因为axios传递的请求参数是json格式,而后端接口要求是formData

别说谁变了你拦得住时间么 提交于 2019-12-01 16:45:45
设置请求头标准写法 const config = { headers : { adminSign : 'admin' } } ; that . axios . get ( dataUrl + "myadmin/info" , config ) . then ( res => { console . log ( res , "首页表格成功" ) ; that . artistNum = res . data . info . artist_num ; that . allNum = res . data . info . all_num ; that . dataFilter ( res . data . info . data ) ; } ) . catch ( err => { console . log ( err , "首页表格失败" ) ; } ) ; 设置请求头 // 请求参数类型为FromData时候的headers的配置 let FromDataconfig = { headers : { 'Content-Type' : 'multipart/form-data;boundary = ' + new Date ( ) . getTime ( ) } } axios . post ( '/account/' , data , FromDataconfig )

python的requests库

本小妞迷上赌 提交于 2019-12-01 16:29:57
在HTTP相关处理中使用python是不必要的麻烦,这包括urllib2模块以巨大的复杂性代价获取综合性的功能。相比于urllib2,Kenneth Reitz的Requests模块更能简约的支持完整的简单用例。 >>> resp = requests.get('https://api.github.com/user', auth=('user', 'pass')) >>> resp.status_code 200 >>> resp.headers['content-type'] 'application/json; charset=utf8' >>> resp.encoding 'utf-8' >>> resp.text u'{"type":"User"...' >>> resp.json() {u'private_gists': 419, u'total_private_repos': 77, ...} 安装 使用 pip 或者 easy_install 安装 Requests pip install requests easy_install requests 发送请求 使用Requests发送网络请求非常简单。 一开始要导入Requests模块: >>> import requests 然后,尝试获取某个网页。本例子中,我们来获取Github的公共时间线 >>> r =

Drf框架,接口,请求模块,渲染模块

白昼怎懂夜的黑 提交于 2019-12-01 16:07:00
drf框架 全称:django-rest framework 知识点 """ 1、接口:什么是接口、restful接口规范 2、CBV生命周期源码 - 基于restful规范下的CBV接口 3、请求组件、解析组件、响应组件 4、序列化组件(灵魂) 5、三大认证(重中之重):认证、权限(权限六表)、频率 6、其他组件:过滤、筛选、排序、分页、路由 """ ​ # 难点:源码分析 接口 """ 接口:联系两个物质的媒介,完成信息交互 web程序中:联系前台页面与后台数据库的媒介 web接口组成: url:长得像放回数据的url链接 请求参数:前台按照指定的key提供数据给后台 响应数据:后台与数据库交互后将数据反馈给前台 """ restful接口规范 接口规范:就是为了采用不同的后台语言,也能使用同样的接口获取到同样的数据 如何写接口:接口规范是 规范化书写接口的,写接口要写 url、响应数据 注:如果将请求参数也纳入考量范围,那就是在写 接口文档 两大部分: url 1) 用api关键字标识接口url api.baidu.com | www.baidu.com/api 2) 接口数据安全性决定优先选择https协议 ​ 3) 如果一个接口有多版本存在,需要在url中标识体现 api.baidu.com/v1/... | api.baidu.com/v2/... 4)

ajax发送post请求处理csrf_token的方法

橙三吉。 提交于 2019-12-01 15:09:18
1 function getCookie(name) { 2 var cookieValue = null; 3 if (document.cookie && document.cookie !== '') { 4 var cookies = document.cookie.split(';'); 5 for (var i = 0; i < cookies.length; i++) { 6 var cookie = jQuery.trim(cookies[i]); 7 // Does this cookie string begin with the name we want? 8 if (cookie.substring(0, name.length + 1) === (name + '=')) { 9 cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); 10 break; 11 } 12 } 13 } 14 return cookieValue; 15 } 16 var csrftoken = getCookie('csrftoken'); 17 18 function csrfSafeMethod(method) { 19 // these HTTP methods do not

爬虫相关

℡╲_俬逩灬. 提交于 2019-12-01 11:31:23
文章出处 https://www.cnblogs.com/wupeiqi/articles/6283017.html requests Python标准库中提供了:urllib、urllib2、httplib等模块以供Http请求,但是,它的 API 太渣了。它是为另一个时代、另一个互联网所创建的。它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务。 Requests 是使用 Apache2 Licensed 许可证的 基于Python开发的HTTP 库,其在Python内置模块的基础上进行了高度的封装,从而使得Pythoner进行网络请求时,变得美好了许多,使用Requests可以轻而易举的完成浏览器可有的任何操作。 1、GET请求 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 # 1、无参数实例 import requests ret = requests.get( 'https://github.com/timeline.json' ) print ret.url print ret.text # 2、有参数实例 import requests payload = { 'key1' : 'value1' , 'key2' : 'value2' } ret = requests.get( "http:/

DRF基础简介及部分源码分析

纵然是瞬间 提交于 2019-12-01 10:25:09
接口 """ 接口:联系两个物质的媒介,完成信息交互 web程序中:联系前台页面与后台数据库的媒介 web接口组成: url:长得像放回数据的url链接 请求参数:前台按照指定的key提供数据给后台 响应数据:后台与数据库交互后将数据反馈给前台 """ restful接口规范 接口规范:就是为了采用不同的后台语言,也能使用同样的接口获取到同样的数据 如何写接口:接口规范是 规范化书写接口的,写接口要写 url、响应数据 ​ 注:如果将请求参数也纳入考量范围,那就是在写 接口文档 两大部分: url 1) 用api关键字标识接口url api.baidu.com | www.baidu.com/api 2) 接口数据安全性决定优先选择https协议 3) 如果一个接口有多版本存在,需要在url中标识体现 api.baidu.com/v1/... | api.baidu.com/v2/... 4) 接口操作的数据源称之为 资源,在url中一般采用资源复数形式,一个接口可以概括对该资源的多种操作方式 api.baidu.com/books | api.baidu.com/books/(pk) 5) 请求方式有多种,用一个url处理如何保证不混乱 - 通过请求方式标识操作资源的方式 /books get 获取所有 /books post 增加一个(多个) /books/(pk)