httpbin

Spring Cloud Gateway 系列(二)处理请求流程

北城以北 提交于 2020-04-24 02:14:28
本篇文章主要从源码的角度揭秘Spring Cloud Gateway的加载和怎么处理请求流程。 1.Spring Gateway概述 SpringCloudGateway是Spring官方基于Spring 5.0,Spring Boot 2.0和Project Reactor等技术开发的网关,Spring Cloud Gateway旨在为微服务架构提供一种简单而有效的统一的API路由管理方式。Spring Cloud Gateway作为Spring Cloud生态系中的网关,目标是替代Netflix ZUUL,其不仅提供统一的路由方式,并且基于Filter链的方式提供了网关基本的功能,例如:安全,监控/埋点,和限流等。 2.容器启动过程的简单加载分析 加载的流程主要是spring容器为主,需要大家熟悉spring框架,这里不做过多的分析了。 Spring Cloud Gateway自动装配类在 org.springframework.cloud.gateway.config 包下,我们可以看到四个配置类 : GatewayAutoConfiguration GatewayClassPathWarningAutoConfiguration GatewayLoadBalancerClientAutoConfiguration GatewayRedisAutoConfiguration

小白学 Python 爬虫(11):urllib 基础使用(一)

给你一囗甜甜゛ 提交于 2020-04-22 02:35:21
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Linux基础入门 小白学 Python 爬虫(4):前置准备(三)Docker基础入门 小白学 Python 爬虫(5):前置准备(四)数据库基础 小白学 Python 爬虫(6):前置准备(五)爬虫框架的安装 小白学 Python 爬虫(7):HTTP 基础 小白学 Python 爬虫(8):网页基础 小白学 Python 爬虫(9):爬虫基础 小白学 Python 爬虫(10):Session 和 Cookies 引言 看到本篇实战的同学有没有很激动,经过了前面十篇基础内容的折磨,终于等到实战章节了,有没有一种激动之情。 想到一句歌词:终于等到你~~~ 首先,官方文档地址敬上: 官方文档地址: https://docs.python.org/3/library/urllib.html 在前面的前置准备中,我们一起安装了很多第三方的请求类库,在介绍这些第三方的类库前,我们先介绍一下 Python3 本身自带的一个 HTTP 请求库 urllib 。 urllib urllib 是一个软件包,它包含了几个用于处理 URL 的模块: request: 基础的 HTTP 请求模块。

curl命令

心不动则不痛 提交于 2020-04-21 04:42:59
system: centos7 curl命令安装: yum -y install curl openssl openssl-devel 常用参数: 参数 说明 示例 -A 设置user-agent curl -A "chrome" http://www.baidu.com -X 用指定的方法请求 curl -X POST http://www.baidu.com -I 只返回请求头的信息 -d 以POST的方法请求url,并发送相应的参数 -d a=1 -d b=2 -d c=3或-d "a=1&b=2&c=3"或-d @filename -O 下载问价并以远程的文件名保存 -o 下载文件并以指定的文件名保存 curl -o 51.jpeg http://httpbin.org/image/jpeg -L 跟随重定向请求 curl -IL https://www.baidu.com -H 设置头部信息 curl -o image.webp -H "accept:image/webp" http://httpbin.org/image -k 允许发起不安全的ssl请求 -b 设置cookies curl -b a=test http://httpbin.org/cookies -s 不显示其它无关信息 -V 显示连接过程中的所有信息 示例: curl http://httpbin

HTTP请求415错误 – 不支持的媒体类型(Unsupported media type)

让人想犯罪 __ 提交于 2020-04-18 12:15:52
HTTP请求415错误 – 不支持的媒体类型(Unsupported media type) 通常有以下情况: 1:检查你的 http 请求头信息,比如 因为 User-Agent 被服务器设置 拒绝请求了; 比如你写的的爬虫,就很有可能因为没有伪装成浏览器,被拒绝请求 user-agent 详情 2:查看你的 http 请求方法,以及服务器端的设置 比如:有一个 强制用 post 请求的接口,你是不是用了非post 请求 3:post 请求参数设置,是不是必须的,json 格式 比如下面,两段代码, 如下 json参数,body import requests import json payload ={ " userName " : " names " , " userCode " : " 123456 " , " phoneNum " : " 7800 " , " regPic " : " picData " } headers ={ ' content-type ' : ' application/json ' } burl = " http://httpbin.org/post " r =requests.post(burl, data=json.dumps(payload), headers= headers) print r.text 如下 form 格式 参数

Postman进行HTTP接口测试

冷暖自知 提交于 2020-04-13 21:54:09
【今日推荐】:为什么一到面试就懵逼!>>> 一、使用教程 准备:p ostman客户端下载 主界面基础功能 其中,几个地方有必要说一下 1. HTTP请求方式get和post 区别 我们可以这样认为:Url 描述一个网络上的资源,而get,post,put,delete就对应着对这个资源的 查,改,增,删 4个操作 get用于从服务器上获取数据信息 post用于向服务器传送数据信息 2.响应状态码类别 1xx 指示信息–表示请求已接收,继续处理 2xx 成功–表示请求已被成功接收、理解、接受 3xx 重定向–信息不完整需要进一步补充 4xx 客户端错误–请求有语法错误或请求无法实现 5xx 服务器端错误–服务器未能实现合法的请求 常用: == 200 - 请求成功,已经正常处理完毕 == 404 - 客户端请求的URL在服务端不存在 == 502 - 服务器内部错误,无法完成请求 二、请求流程 1.get请求方式 大致过程: 具体流程如下: a.选择请求方法 b.填写请求的url c.输入参数及value,即时显示在URL链接上(get请求的请求头与请求参数如在接口文档中无特别声明时,可以不填。) d.点击“send”发送请求 e.查看请求响应内容( 自己用json格式的响应体) 接口请求文档: 功能说明:天气查询 请求url:请求URL:https://tianqiapi.com

Postman进行HTTP接口测试

好久不见. 提交于 2020-04-13 21:05:41
【今日推荐】:为什么一到面试就懵逼!>>> 一、使用教程 准备: postman客户端下载 主界面基础功能 其中,几个地方有必要说一下 1. HTTP请求方式get和post 区别 我们可以这样认为:Url 描述一个网络上的资源,而get,post,put,delete就对应着对这个资源的 查,改,增,删 4个操作 get用于从服务器上获取数据信息 post用于向服务器传送数据信息 2.响应状态码类别 1xx 指示信息–表示请求已接收,继续处理 2xx 成功–表示请求已被成功接收、理解、接受 3xx 重定向–信息不完整需要进一步补充 4xx 客户端错误–请求有语法错误或请求无法实现 5xx 服务器端错误–服务器未能实现合法的请求 常用: == 200 - 请求成功,已经正常处理完毕 == 404 - 客户端请求的URL在服务端不存在 == 502 - 服务器内部错误,无法完成请求 二、请求流程 1.get请求方式 大致过程: 具体流程如下: a.选择请求方法 b.填写请求的url c.输入参数及value,即时显示在URL链接上(get请求的请求头与请求参数如在接口文档中无特别声明时,可以不填。) d.点击“send”发送请求 e.查看请求响应内容( 自己用json格式的响应体) 接口请求文档: 功能说明:天气查询 请求url:请求URL:https://tianqiapi.com

Postman进行HTTP接口测试

两盒软妹~` 提交于 2020-04-13 18:23:17
【今日推荐】:为什么一到面试就懵逼!>>> 一、使用教程 准备: postman客户端下载 主界面基础功能 其中,几个地方有必要说一下 1. HTTP请求方式get和post 区别 我们可以这样认为:Url 描述一个网络上的资源,而get,post,put,delete就对应着对这个资源的 查,改,增,删 4个操作 get用于从服务器上获取数据信息 post用于向服务器传送数据信息 2.响应状态码类别 1xx 指示信息–表示请求已接收,继续处理 2xx 成功–表示请求已被成功接收、理解、接受 3xx 重定向–信息不完整需要进一步补充 4xx 客户端错误–请求有语法错误或请求无法实现 5xx 服务器端错误–服务器未能实现合法的请求 常用: == 200 - 请求成功,已经正常处理完毕 == 404 - 客户端请求的URL在服务端不存在 == 502 - 服务器内部错误,无法完成请求 二、请求流程 1.get请求方式 大致过程: 具体流程如下: a.选择请求方法 b.填写请求的url c.输入参数及value,即时显示在URL链接上(get请求的请求头与请求参数如在接口文档中无特别声明时,可以不填。) d.点击“send”发送请求 e.查看请求响应内容( 自己用json格式的响应体) 接口请求文档: 功能说明:天气查询 请求url:请求URL:https://tianqiapi.com

requests---requests发送json数据类型

笑着哭i 提交于 2020-04-13 10:55:46
【今日推荐】:为什么一到面试就懵逼!>>>   我们都知道post请求中的body有4种数据类型,今天我们来写一篇关于requests请求json这种数据类型。 数据类型 我们都知道post和get有个大的区别就是get没有body而post存在body,那么body的常见的4种数据类型你知道吗? application/json: 具体表述请求数据为json格式,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据( enctype 的 POST 默认方式) 格式 { " name " : " value " , " name1 " : " value2 " } application/x-www-form-urlencoded 浏览器原生form表单默认的数据格式 格式 name=value&name2=value2=name3=value3 我们使用表单上传文件,也可以上传普通数据,只需要让form的enctype等于multipart/form-data就可以了 ------ WebKitFormBoundaryBRi81vNtMyBL97Rb Content -Disposition: form-data; name= " name " name1 ------

requests---requests发送json数据类型

核能气质少年 提交于 2020-04-13 10:27:50
【今日推荐】:为什么一到面试就懵逼!>>>   我们都知道post请求中的body有4种数据类型,今天我们来写一篇关于requests请求json这种数据类型。 数据类型 我们都知道post和get有个大的区别就是get没有body而post存在body,那么body的常见的4种数据类型你知道吗? application/json: 具体表述请求数据为json格式,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据( enctype 的 POST 默认方式) 格式 { " name " : " value " , " name1 " : " value2 " } application/x-www-form-urlencoded 浏览器原生form表单默认的数据格式 格式 name=value&name2=value2=name3=value3 我们使用表单上传文件,也可以上传普通数据,只需要让form的enctype等于multipart/form-data就可以了 ------ WebKitFormBoundaryBRi81vNtMyBL97Rb Content -Disposition: form-data; name= " name " name1 ------

跟我学爬虫-1-爬虫简介

谁都会走 提交于 2020-04-12 17:52:20
网络爬虫简介   所谓爬虫,其实就是自动从互联网上获取网页信息的程序或者脚本,甚至简单到一两行代码,只要能达到自动获取信息的目的,都可以称之为爬虫。   本系列文章主要是为那些希望加入爬虫界的小白们准备的,水平有限,大牛请包涵。 爬虫程序分类简介   程序可大致分为两种,可视化和非可视化的爬虫程序。 可视化爬虫工具,例如八爪鱼、火车头等。此类工具使用简单,界面友好。非常适合不懂编程但有简单数据需求的人使用。   代码类,大部分语言都有自己的爬虫框架,比如python语言的scrapy,其他语言的话java、C#、Ruby都有,不过我不知道比较好的是哪个,就不说了。 第三类就是一些简单的脚本了。可能不如框架那么功能完备,不如可视化工具那么简单易用。但脚本胜在灵活,不受限制,可以随意定制需要的功能。 本系列简介 学会如何使用python语言编写简单脚本进行网页信息采集 学会如何提取有效信息 学会如何应付反爬虫机制 ......待续 前置技能 python2.7 基础。(不会的话推荐 廖雪峰的python教程 ) 会使用浏览器 推荐 Firefox 实例讲解 然后就没什么可说的了,先来个小例子练习一下吧,我会直接写代码,然后再进行讲解 #coding:utf8 ''' # 示例代码 使用 python 的 requests 模块 下载网页 http://httpbin.org/ip