重定向

requests--重定向,序列化

痴心易碎 提交于 2019-12-01 13:51:16
重定向 默认情况下,除了 HEAD, Requests 会自动处理所有重定向。可以使用响应对象的 history 方法来追踪重定向。 Response.history 是一个 Response 对象的列表,为了完成请求而创建了这些对象。这个对象列表按照从最老到最近的请求进行排序。例如,12306 将所有的 HTTP 请求重定向到 HTTPS import requests requests.packages.urllib3.disable_warnings() r = requests.get('http://www.12306.cn/',verify=False) print(r.url) print(r.status_code) print(r.history) 结果: https://www.12306.cn/index/ 200 [<Response [302]>, <Response [302]>] 如果你使用的是GET、OPTIONS、POST、PUT、PATCH 或者 DELETE,那么你可以通过 allow_redirects 参数禁用重定向处理: import requests requests.packages.urllib3.disable_warnings() r = requests.get('http://www.12306.cn/',verify

HTTP状态码

做~自己de王妃 提交于 2019-12-01 13:20:59
一些常见的状态码为:   200 - 服务器成功返回网页   404 - 请求的网页不存在   503 - 服务器超时   下面提供 HTTP 状态码的完整列表。点击链接可了解详情。您也可以访问 HTTP 状态码上的 W3C 页获取更多信息。   1xx(临时响应)   表示临时响应并需要请求者继续执行操作的状态码。   100(继续)请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。   101(切换协议)请求者已要求服务器切换协议,服务器已确认并准备切换。      2xx (成功)   表示成功处理了请求的状态码。   200(成功)服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。如果是对您的 robots.txt 文件显示此状态码,则表示 Googlebot 已成功检索到该文件。   201(已创建)请求成功并且服务器创建了新的资源。   202(已接受)服务器已接受请求,但尚未处理。   203(非授权信息)服务器已成功处理了请求,但返回的信息可能来自另一来源。   204(无内容)服务器成功处理了请求,但没有返回任何内容。   205(重置内容)服务器成功处理了请求,但没有返回任何内容。与 204 响应不同,此响应要求请求者重置文档视图(例如,清除表单内容以输入新内容)。   206(部分内容)服务器成功处理了部分 GET

CDN(Content Delivery Network)原理

亡梦爱人 提交于 2019-12-01 13:09:30
CDN即内容分发网络,一般包括分发服务系统,负载均衡系统和管理系统。    分发服务系统 ,其基本的工作单元就是各个cache服务器。负责直接响应用户请求,将内容快速分发到用户;同时还负责内容更新,保证和源站内容同步。根据内容类型和服务种类的不同,分发服务系统分为多个子服务系统,如:网页加速服务、流媒体加速服务、应用加速服务等。每个子服务系统都是一个分布式的服务集群,由功能类似、地域接近的分布部署的cache集群组成。   在承担内容同步、更新和响应用户请求之外,分发服务系统还需要向上层的管理调度系统反馈各个cache设备的健康状况、相应情况、内容缓存状况等,以便管理调度系统能够根据设定的策略决定由哪个cache设备来响应用户的请求。    负载均衡系统 ,是整个CDN系统的中枢。负责对所有的用户请求进行调度,确定提供给用户的最终访问地址。使用分级实现。最基本的两极调度体系包括全局负载均衡(GSLB)和本地负载均衡(SLB)。   GSLB根据用户地址和用户请求的内容,主要是根据就近原则,确定向用户服务的节点。一般通过DNS解析或应用层重定向(HTTP 3XX重定向)的方式实现。   SLB主要负责节点内部的负载均衡。当用户请求从GSLB调度到SLB时,SLB会根据节点内各个cache设备的工作情况和内容分布情况等对用户请求重定向。SLB的实现由四层调度(LVS)、七层调度

>/dev/null 2>&1

一笑奈何 提交于 2019-12-01 12:28:39
>/dev/null 2>&1 shell中经常能看到:>/dev/null 2>&1 命令的结果可以通过%>的形式来定义输出 分解这个组合:“>/dev/null 2>&1”为五部分 1:>代表重定向到哪里,例如:echo "123" > /home/123.txt 2: /dev/null代表空设备文件 3: 2>表示stderr标准错误 4:1表示stdout标准输出,系统默认值是1,所以“>/dev/null”等同于"1>/dev/null" 5:&表示等同于的意思,2>&1,表示2的输出重定向等同于1 因此,>/dev/null 2>&1也可以写成 1> /dev/null 2>&1 1>/dev/null:首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,说白了就是不显示任何信息。 2>&1:接着,标准错误输出重定向到标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。 来源: https://www.cnblogs.com/liangmm/p/11685606.html

关于http301与302的技术讨论

一笑奈何 提交于 2019-12-01 12:14:35
@浪迹天涯 301转向:是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。 302重定向又称之为302代表暂时性转移(Temporarily Moved ), 也被认为是暂时重定向(temporary redirect),一条对网站浏览器的指令来显示浏览器被要求显示的不同的URL,当一个网页经历过短期的URL的变化时使用。一个暂时重定向是一种服务器端的重定向,能够被搜索引擎蜘蛛正确地处理。 301重定向与302重定向的区别在于302重定向是暂时的重定向,搜索引擎会抓取新的内容而保留旧的网址。因为服务器返回302代码,搜索引擎认为新的网址只是暂时的。 301重定向是永久的重定向,搜索引擎在抓取新内容的同时也将旧的网址替换为重定向之后的网址。 @张洪保 301的含义是“永久重定向”,而302的含义是“临时重定向” 301 代表永久性转移是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址。 由于搜索引擎排名算法只是程序而不是人,在遇到302重定向的时候,并不能像人一样的去准确判定哪一个网址更适当,这就造成了网址URL劫持的可能性。也就是说,一个不道德的人在他自己的网址A做一个302重定向到你的网址B,出于某种原因,

nohub相关

半城伤御伤魂 提交于 2019-12-01 11:47:52
  nohup 是 no hang up 的缩写,就是 不挂断 的意思。   nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。   在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中。 nohup和&的区别   &:指在后台运行   nohup:不挂断的运行,注意并没有后台运行的功能,,就是指,用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,例如我们断开SSH连接都不会影响他的运行,注意了nohup没有后台运行的意思;&才是后台运行。 &是指在后台运行,但当用户推出(挂起)的时候,命令自动也跟着退出 那么,我们可以巧妙的吧他们结合起来用就是 nohup COMMAND & 这样就能使命令永久的在后台执行 例如: 1. sh test.sh & 将sh test.sh任务放到后台 ,即使关闭xshell退出当前session依然继续运行,但 标准输出和标准错误信息会丢失(缺少的日志的输出) 将sh test.sh任务放到后台 ,关闭xshell,对应的任务也跟着停止。 2. nohup sh test.sh 将sh test.sh任务放到后台,关闭标准输入, 终端不再能够接收任何输入(标准输入)

Response案例1_重定向

女生的网名这么多〃 提交于 2019-12-01 10:35:10
1 import javax.servlet.ServletException; 2 import javax.servlet.annotation.WebServlet; 3 import javax.servlet.http.HttpServlet; 4 import javax.servlet.http.HttpServletRequest; 5 import javax.servlet.http.HttpServletResponse; 6 import java.io.IOException; 7 8 /** 9 * @Author: 艾康 10 * @Date: 2019/10/15 23:13 11 */ 12 13 /** 14 * 重定向 15 */ 16 @WebServlet("/servlettest1") 17 public class ServletTest1 extends HttpServlet { 18 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 19 //重定向:资源跳转方式 20 System.out.println("111111111"); 21 /

HTTP 响应的格式及状态码

左心房为你撑大大i 提交于 2019-12-01 09:40:08
HTTP响应 服务器收到了客户端发来的HTTP请求后,根据HTTP请求中的动作要求,服务端做出具体的动作,将结果回应给客户端,称为HTTP响应。 响应数据格式 HTTP响应由三部分组成:状态行、响应头、响应正文; 状态行:包括协议版本Version、状态码Status Code、回应短语; 响应头(server header):包括搭建服务器的软件,发送响应的时间,回应数据的格式等信息,包含HTTP状态码 (HTTP Status Code) ; 响应正文:就是响应的具体数据。 HTTP状态码 HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字有分类的作用。不同的状态码代表不同的含义。 HTTP状态码分类 共分为5种类型: 分类 分类描述 1xx 信息,服务器收到请求,需要请求者继续执行操作 2xx 成功,操作被成功接收并处理 3xx 重定向,需要进一步的操作以完成请求 4xx 客户端错误,请求包含语法错误或无法完成请求 5xx 服务器错误,服务器在处理请求的过程中发生了错误 HTTP状态码列表 一些常见的状态码为: 200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务不可用 详细分解: 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码。 代码 说明 100 (继续) 请求者应当继续提出请求

如何搭建免费的个人网站

点点圈 提交于 2019-12-01 09:31:54
1. 新建一个github账号,然后登陆 https://github.com 2,新建一个repository 3,上传网站 你可以自己写一个网站,或者在网上下载一个网站模板http://www.cssmoban.com/。然后将网站上传到该repository中 4,设置GitHub主页 5,现在就可以访问主页了 https://zhouyinfei.github.io/qiulin/ 6,申请免费域名 https://my.freenom.com/clientarea.php?action=domains 7,设置域名重定向 将域名重定向到刚才的GitHub主页 这样,就有了一个自己的个人主页了 http://zhouyinfei.cf 。只不过是静态网页,没有用户交互的功能和后台功能。 来源: CSDN 作者: 嫩草终结者 链接: https://blog.csdn.net/qq_32523587/article/details/80548571

http状态码汇总

回眸只為那壹抹淺笑 提交于 2019-12-01 09:16:55
状态码 含义 1xx 请求正在被处理 2xx 请求成功处理 3xx 请求需要附加操作,如重定向等 4xx 客户端出错导致请求无法被处理 5xx 服务器端处理出错 2XX 200 OK 请求已被正常处理 204 No Content 请求成功,但不返回内容。客户端只需要向服务器端发送信息,而不需要接收信息。就比如说考试的时候,其他状态码相当于填空题,发送请求后要得到答案的;而204相当于判断题,只需要知道结果对错,不需要返回答案内容。 206 Partical Content 返回请求资源的部分内容,有一个请求头Range,用来表示范围请求,例如 ‘Range:byte=5001-10000’ //表示本次要请求资源的5001-10000字节的部分 3XX 301 Moved Permanently 资源永久重定向 302 Moved 资源临时重定向 303 See Other 和302很像,除了提示客户端去请求Location外,还会要求请求使用GET方法 304 Not Modified 请求资源内容未改变,可直接使用缓存 4XX 400 Bad Request 错误请求 401 Unauthorized 未经过认证 403 Forbidden 禁止访问,无权限访问 404 Not Found 服务端没找到所请求资源,一般是因为url写错了 5XX 500 Interval