http请求

urllib

我是研究僧i 提交于 2019-12-06 00:38:25
About urllib是Python内置的HTTP请求库。urllib 模块提供的上层接口,使访问 www 和 ftp 上的数据就像访问本地文件一样,并且它也是requests的底层库。 其中包括4个主要模块: urllib.request:请求模块。 urllib.error:异常处理模块。 urllib.parse:URL解析模块。 urllib.robotparser:robots.txt解析模块。 这里以Python3.6为例。 urllib、urllib2、urllib3 在Python2.x中,分为urllib和urllib2,简单来说,urllib2是urllib的增强版,但urllib中的函数又比urllib2多一些,对于简单的下载之类的,urllib绰绰有余,如果涉及到实现HTTP身份验证或者cookie或者扩展编写自定义协议,urllib2更好一些。 urllib支持设置编码的函数urllib.urlencode,在模拟登陆的时候经常需要传递经过post编码之后的参数,如果不想使用第三方库完成模拟登录,就必须使用到标准库中的urllib。urllib提供一些比较原始基础的方法而urllib2并没有,比如urllib中的urlencode方法用来GET查询字符串的产生。 urllib2比较有优势的地方在于urllib2

JMeter性能测试,完整入门篇

纵然是瞬间 提交于 2019-12-06 00:26:07
原文转自:https://blog.csdn.net/lovesoo/article/details/78579547 Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件。相比Loadrunner而言,JMeter小巧轻便且免费,逐渐成为了主流的性能测试工具,是每个测试人员都必须要掌握的工具之一。 本文为JMeter性能测试完整入门篇,从Jmeter下载安装到编写一个完整性能测试脚本、最终执行性能测试并分析性能测试结果。 运行环境为Windows 10系统,JDK版本为1.8,JMeter版本为3.3。 2. Jmeter安装 2.1 JDK安装 由于Jmeter是基于java开发,首先需要下载安装JDK (目前JMeter只支持到Java 8,尚不支持 Java 9) 1. 官网下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html 2. 选择Java SE 8u151/ 8u152,点击JDK下载 3. 安装下载的JDK 4. 配置系统环境变量 2.2 JMeter安装 官网下载地址: http://jmeter.apache.org/download_jmeter.cgi 下载最新JMeter 3.3版本:apache-jmeter-3.3.zip

Django RestFramework学习笔记

狂风中的少年 提交于 2019-12-06 00:23:59
文章目录 @[toc] 安装 使用细节 修改`settings.py` 在app中创建`serializers.py`文件——序列化文件 在`views.py`中创建类 在`urls.py`中注册路由 请求 http请求方式 状态码 使用例子 自定义数据返回结构 解决跨域请求问题 方法1 修改settings配置, 避开csrf验证 方法2 使用csrf_exempt装饰器对特定view进行屏蔽 方法3 重写SessionAuthorization中的enforce_csrf filter筛选 分页 参考 安装 pip install djangorestframework 使用细节 修改 settings.py INSTALLED_APPS中加入’rest_framework’, 在app中创建 serializers.py 文件——序列化文件 from rest_framework import serializers from .models import MyModel class MyModelSerializer(serializers.ModelSerializer): class Meta: # 关联数据表(前面不是变量名) model = MyModel # 确定需要序列化的字段(返回给用户的具体表中的字段)(前面不是变量名) fields = ['id',

从前端小白到中高级前端需要掌握的技能总结(2)

此生再无相见时 提交于 2019-12-06 00:13:46
这个系列的文章的第二篇,继续总结~~ 这是从一个问题上衍生出的知识体系,这个问题是 从输入URL到页面加载的过程 。 先梳理下这个流程 第一步 从浏览器接收url到开启网络请求线程(浏览器的进程/线程模型,js的运行机制) 浏览器的进程 浏览器是多进程的。有一个主进程,以及每一个tab页都会新开一个进程(某些情况下(比如空白tab)多个tab会合并成一个进程) 进程可能包括主进程,插件进程,GPU,tab页等等。 brower进程 主进程,负责协调,主控等 第三方插件进程 每种类型的插件都会有一个进程,仅当使用插件时才会创建。 GPU进程 只有一个,用于3d绘制 浏览器默认进程(内核) 每个tab页对应一个进程,负责页面渲染,脚本执行,互不影响,有时候会优化(多个空白tab会合并成一个) 浏览器的多线程内核 每个tab页可以看作浏览器的内核的进程,这个进程是多线程的,它有以下几大线程: GUI渲染线程 JavaScript线程(这就是为什么一直说JS是单线程的原因) 事件触发线程 定时器触发线程 网络请求线程 每次网络请求都需要开辟单独线程进行,如果url解析到http请求,就会新开线程去处理资源下载。(http2.0可以实现tcp连接复用) JS的运行机制 参考我的另一篇文章 js执行机制 事件循环 第二步 开启网络线程到发出一个完整的http请求(dns查询,tcp/IP请求

TCP/IP基础总结性学习(2)

a 夏天 提交于 2019-12-06 00:12:23
简单的HTTP协议 一.HTTP 协议用于客户端和服务器端之间的通信 客户端和服务器的定义:请求访问文本或图像等资源的一端称为客户端,而提供资源响应的一 端称为服务器端。在两台计算机之间使用 HTTP 协议通信时,在一条通信线路上必定有 一端是客户端,另一端则是服务器端。 二.通过请求和响应的交换达成: HTTP 协议规定,请求从客户端发出,最后服务器端响应该请求并返回。换句话说,肯定是先从客户端开始建立通信的,服务器端在没有接收到请求之前不会发送响应。 通信请求和响应实例: 1.请求报文中的内容(意思是:请求访问某台 HTTP 服务器上的 /index.htm 页面资源): GET /index.htm HTTP/1.1 Host: hackr.jp . (起始行开头的GET表示请求访问服务器的类型,称为方法 (method);字符串 /index.htm 指明了请求访问的资源对象, 也叫做请求 URI(request-URI); HTTP/1.1,即 HTTP 的版本号,用来提示客户端使用的 HTTP 协议功能。 请求报文是由请求方法、请求 URI、协议版本、可选的请求首部字段和内容实体构成的。) 2.响应报文中的内容: (在起始行开头的 HTTP/1.1 表示服务器对应的 HTTP 版本。 紧挨着的 200 OK 表示请求的处理结果的状态码(status code)和原因

JavaEE 要懂的小事:一、图解Http协议

烂漫一生 提交于 2019-12-06 00:05:16
Writer :BYSocket(泥沙砖瓦浆木匠) 微 博: BYSocket 豆 瓣: BYSocket FaceBook: BYSocket Twitter : BYSocket 泥瓦匠记得和 左潇龙【博客园】 上次聊天时,龙哥问了个Session的问题。我当时的理解就是云里雾里,先从Http协议理解开始吧。 一、技术基石及概述 问:什么是HTTP? 答:HTTP是一个客户端和服务器端 请求 和 响应 的 标准TCP 。其实建立在TCP之上的。 当我们打开百度网页时,是这样的: https://www.baidu.com 多了个S,其实S表示TLS、SSL。在这里不做解释,因此HTTP的技术基石如图所示: 那HTTP协议呢?HTTP协议(HyperText Transfer Protocol),即超文本传输协议是用于服务器传输到客户端浏览器的传输协议。Web上,服务器和客户端利用HTTP协议进行通信会话。有OOP思想的得出结论:其会话的结构是一个简单的请求/响应序列,即浏览器发出请求和服务器做出响应。 二、深入理解技术基石和工作流程 既然HTTP是基于传输层的TCP协议,而TCP协议是 面向连接 的 端到端 的协议。因此,使用HTTP协议传输前,首先建立TCP连接,就是因此在谈的TCP链接过程的“三次握手”。如图 在Web上

Jmeter进行文件上传

本秂侑毒 提交于 2019-12-06 00:00:53
文件上传 以积分下发为例,上传excel文件 1、添加线程组 (右击 测试计划-添加-Threads(Users)-线程组) 2、添加一个http请求(右击 线程组-添加-Sampler-HTTP请求) 3、填写Http请求中的url和路径,以及要上传的文件 文件名称:上传文件地址 参数名称:接口文档中的参数名 4、需要添加cookie,可以通过抓包工具,找到文件名和MIME类型,且发现需要cookie 5、添加cookie(右击“HTTP请求”-“添加”-“配置元件”-“HTTP Cookie 管理器”) 6、执行后,查看结果树 来源: https://www.cnblogs.com/peiya/p/11951796.html

用ASP.NET Core 2.1 建立规范的 REST API -- 保护API和其它(总结)

隐身守侯 提交于 2019-12-05 23:39:20
本文介绍如何保护API,无需看前边文章也能明白吧 。 预备知识: http://www.cnblogs.com/cgzl/p/9010978.html http://www.cnblogs.com/cgzl/p/9019314.html 建立成熟度2级的 API请看这里: https://www.cnblogs.com/cgzl/p/9047626.html https://www.cnblogs.com/cgzl/p/9080960.html https://www.cnblogs.com/cgzl/p/9117448.html HATEOAS: https://www.cnblogs.com/cgzl/p/9153749.html 缓存和并发: https://www.cnblogs.com/cgzl/p/9165388.html 保护API和其它: https://www.cnblogs.com/cgzl/p/9172603.html 本文所需项目代码(右键另存, 后缀改为zip): https://images2018.cnblogs.com/blog/986268/201806/986268-20180612151833673-1851218969.jpg 认证和授权 认证/身份验证 Authentication , 是验证想要访问特定资源的人/系统的身份的过程. 授权

用ASP.NET Core 2.0 建立规范的 REST API -- 预备知识1

回眸只為那壹抹淺笑 提交于 2019-12-05 23:34:58
什么是REST REST 是 Representational State Transfer 的缩写. 它是一种架构的风格, 这种风格基于一套预定义的规则, 这些规则描述了网络资源是如何定义和寻址的. 一个实现了REST这些规则的服务就叫做RESTful的服务. 最早是由Roy Fielding提出的. RPC 风格 /getUsers /getUser?id=1 /createUser /deleteUser?id=4 /updateUser?name=dave 上面这些节点是针对User的CRUD操作. 这种样式风格的web服务更倾向于叫做RPC风格的服务. 在RPC的世界里, 节点仅仅就是可以在远程被触发的函数, 而在REST的世界里, 节点就是实体, 也叫做资源. REST的原则/约束 REST有6大原则/约束, 每一个原则都是对API有正面或负面影响的设计决定. RESTful API 最关心的有这几方面: 性能, 可扩展性, 简洁性, 互操作性, 通讯可见性, 组件便携性和可靠性 . 这些方面被封装在REST的6个原则里, 它们是: 1. 客服端-服务端约束 : 客户端和服务端是分离的, 它们可以独自的进化. 2. 无状态 : 客户端和服务段的通信必须是无状态的, 状态应包含在请求里的. 也就是说请求里要包含服务端需要的所有的信息,

axios全攻略

荒凉一梦 提交于 2019-12-05 23:28:25
随着 vuejs 作者尤雨溪发布消息,不再继续维护vue-resource,并推荐大家使用 axios 开始,axios 被越来越多的人所了解。本来想在网上找找详细攻略,突然发现,axios 的官方文档本身就非常详细!!有这个还要什么自行车!!所以推荐大家学习这种库,最好详细阅读其官方文档。大概翻译了一下 axios 的官方文档,相信大家只要吃透本文再加以实践,axios 就是小意思啦!! 如果您觉得本文对您有帮助,不妨点个赞或关注收藏一下,您的鼓励对我非常重要。 axios 简介 axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,它本身具有以下特征: 从浏览器中创建 XMLHttpRequest 从 node.js 发出 http 请求 支持 Promise API 拦截请求和响应 转换请求和响应数据 取消请求 自动转换JSON数据 客户端支持防止 CSRF/XSRF 浏览器兼容性 引入方式: 1 2 3 4 5 $ npm install axios $ cnpm install axios //taobao源 $ bower install axios 或者使用cdn: <script src= "https://unpkg.com/axios/dist/axios.min.js"> </ script> 举个栗子: 执行 GET 请求