url

HTTP请求中的GET-POST方式

ⅰ亾dé卋堺 提交于 2020-02-24 05:03:14
目录 一、前言部分(概念) 二、对比 GET 与 POST 二者最大的差异 GET 与 POST 请求本质上并无区别 深层了解:POST 请求产生两个数据包? 三、两种请求方式如何灵活使用? 四、常见的状态码 五、RESTful 风格补充 参考链接 一、前言部分(概念) URL(统一资源定位符 )的作用:使用 URL 可以确定一个资源所在的位置 HTTP(超文本传输协议) 基于 TCP/IP 的定义 数据在万维网中如何通信的协议 设计目的是 保证客户端与服务器之间的通信 在客户端向服务器发起请求时, 两种最常用的 HTTP 方法是:GET 和 POST 在 html 页面的 form 表单中,如果不指定 method 提交方式, 默认是以 GET 方式提交 二、对比 GET 与 POST 二者最大的差异 请求参数所在的位置不同 GET 方式把参数包含在URL,即请求行中 ,参数会显示在浏览器地址栏上 POST 方式的参数包含在请求体中 正是因为请求参数所在的位置不同,从而造成了: GET 请求时 URL 长度受限(理论上get请求只能携带2k大小的数据) POST 请求提交参数的相对安全 这里的相对安全只是单纯地因为 post 请求参数包含在请求体中,不会显示在地址栏上被看到 GET 与 POST 请求本质上并无区别 因为 GET 和 POST两种请求方式 都是基于 TCP 协议

HTTP-get和post的区别

余生长醉 提交于 2020-02-23 21:50:16
GET和POST的区别: GET在浏览器回退时是无害的,而POST会再次提交请求。 GET产生的URL地址可以被Bookmark,而POST不可以。 GET请求会被浏览器主动cache,而POST不会,除非手动设置。 GET请求只能进行url编码,而POST支持多种编码方式。 GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。 GET请求在URL中传送的参数是有长度限制的,而POST没有。 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。 GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。 GET参数通过URL传递,POST放在Request body中。 HTTP的底层是TCP/IP。所以GET和POST的底层也是TCP/IP,也就是说,GET/POST都是TCP链接。 GET产生一个TCP数据包;POST产生两个TCP数据包。对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)) 来源: https://www.cnblogs.com/Paul-watermelon/p/10934012.html

Django总结

北慕城南 提交于 2020-02-23 20:26:58
背 “大司马” 最小应用场景(MVTU) 1.按下submit按钮,向某url发出一条request(包含数据) 2.在Urls中找到对应的处理函数(path) 3.处理函数: 前端与view交互方式: -获取数据:表单提交数据,不同数据给个变量名 -返回数据: 模板语言 数据库与view交互方式:ORM-面向对象思想 增删改查(ORM) 增: object.create, save() 删:object.delete() 改: save() 查(取出): object.get, filter 数据来源 :从前端获取(form),从数据库获取(查询操作:get,filter) 变量,字典,列表 逻辑实现 : 用从前端,数据库获得的变量设计逻辑(if else) 数据去向: 展现到前端(模板语言),存储到后端(ORM) 并最终返回一个html文件(一般为修改过的)(return) url即处理函数的别名 处理函数一定会返回一个html文件 所以大部分人理解的是url= html文件 从用户角度: T-U(url链接)-V-M 首先, 在浏览器中手动输入url = html中的<a href => = 表单form中的action=”url” 本质都是基于http协议的一个request, 都是在urls.path()目录下寻找对应的处理函数。 form action

学习爬虫(一)基础概念

别等时光非礼了梦想. 提交于 2020-02-23 18:00:05
爬虫简介 爬虫定义 网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。 爬虫分类 通用爬虫 通用网络爬虫又称全网爬虫(Scalable Web Crawler),爬行对象从一些种子 URL 扩充到整个 Web,主要为门户站点搜索引擎和大型 Web 服务提供商采集数据。 通用网络爬虫的结构大致可以分为页面爬行模块 、页面分析模块、链接过滤模块、页面数据库、URL 队列、初始 URL 集合几个部分。 聚焦爬虫 聚焦网络爬虫(Focused Crawler),又称主题网络爬虫(Topical Crawler),是指选择性地爬行那些与预先定义好的主题相关页面的网络爬虫。 聚焦爬虫在实施网页抓取时会对内容进行处理筛选,尽量保证只抓取与需求相关的网页信息。 网页 网页是一个包含HTML标签的纯文本文件,它可以存放在世界某个角落的某一台计算机中,是万维网中的一“页”,是超文本标记语言格式(标准通用标记语言的一个应用,文件扩展名为.html或.htm)。 网页的特点: 1、网页都有自己唯一的url 2、网页都是用HTML来描述页面信息 3、网页都使用HTTP/HTTPS协议来传输HTML数据 Robots协议 robots协议也叫robots.txt(统一小写

C#中用HttpWebRequest中发送GET/HTTP/HTTPS请求

最后都变了- 提交于 2020-02-23 16:04:36
C# HttpWebRequest GET HTTP HTTPS 请求 作者:周公(zhoufoxcn) 原文:http://blog.csdn.net/zhoufoxcn 这个需求来自于我最近练手的一个项目,在项目中我需要将一些自己发表的和收藏整理的网文集中到一个地方存放,如果全部采用手工操作工作量大而且繁琐,因此周公决定利用C#来实现。在很多地方都需要验证用户身份才可以进行下一步操作,这就免不了POST请求来登录,在实际过程中发现有些网站登录是HTTPS形式的,在解决过程中遇到了一些小问题,现在跟大家分享。 通用辅助类 下面是我编写的一个辅助类,在这个类中采用了HttpWebRequest中发送GET/HTTP/HTTPS请求,因为有的时候需要获取认证信息(如Cookie),所以返回的是HttpWebResponse对象,有了返回的HttpWebResponse实例,可以获取登录过程中返回的会话信息,也可以获取响应流。 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net.Security; using System.Security.Cryptography.X509Certificates; using

路由机制

狂风中的少年 提交于 2020-02-23 16:02:59
1.路由请求过程 Requested URL(请求的URL)--->Routing engine(路由引擎)--->Parse URL(解析URL)--->Locate matching route(定位匹配的路由)--->Route found(找到路由)--->Route is processed(处理路由) 2.配置路由 ASP.NET MVC路由确定由哪个控制器操作来处理特定的URL请求,它由以下属性组成 Unique name路由唯一的名字 URL pattern将URL解析成有意义词语的简单模式语法 Defaults URL模式里定义的参数变量的默认值 Constraints为URL匹配模式定义更严格的约束规则 默认的ASP.NET MVC项目添加了一个通用的路由,它使用以下URL习惯来解析特定的URL请求,即分三个部分,包含在大括号内,controller、action、id。{controller}/{action}/{id} 注册路由使用的扩展方法是MapRoute(),在程序启动的时候注册(在App_Start/RouteConfig.cs文件里) routes.MapRoute(   name: "Default",//路由名字   url: "{controller}/{action}/{id}",//URL参数   defaults: new {

URI 中特殊字符

别说谁变了你拦得住时间么 提交于 2020-02-23 13:00:02
URL中的特殊字符 有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值。例如 空格的编码值是"%20"。 下表中列出了一些URL特殊符号及编码 :替换为%3A java中URL 的编码和解码函数 java.net.URLEncoder.encode(String s)和java.net.URLDecoder.decode(String s); 在javascript 中URL 的编码和解码函数 escape(String s)和unescape(String s) ; 来源: https://www.cnblogs.com/panie2015/p/5753571.html

django - url with automatic slash adding

人盡茶涼 提交于 2020-02-23 09:35:54
问题 I'm using django admin on my website. When I enter url without slash after admin (http://example.com/admin) I receive 404 error. I thought that django automatically added slash on the end of url. Of course when I enter url ended with slash it works fine. What I am doing wrong, or which settings I have to change. Thanks for any ideas. 回答1: Try setting APPEND_SLASH to true in settings. On second thoughts, I think the default setting is true. http://docs.djangoproject.com/en/dev/ref/settings/

22.ThinkPHP5框架缺陷导致远程命令执行

怎甘沉沦 提交于 2020-02-23 08:56:47
前言: 昨天爆出了ThinkPHP5框架缺陷导致远程命令执行,大佬们都赶上潮流挖洞,小白还是默默学习一下这个漏洞 漏洞影响范围: Thinkphp 5.1.0 - 5.1.31 Thinkphp 5.0.5 - 5.0.23 漏洞产生原因: Thinkphp5.x版本(5.0.20)中没有对路由中的控制器进行严格过滤,在存在 admin,index 模块、没有开启强制路由的条件下(默认不开启),导致可以注入恶意代码利用反射类调用命名空间其他任意内置类,完成远程代码执行。 漏洞分析: 既然是没有正确处理控制器名 $controller ,从最开始获取控制器名的代码来看: 发现在 $controller 中有过滤字符串中的 HTML 标签的strip_tags()函数,网站没有开启强制路由,问题可能出现在路由调度时,来看执行路由调度的代码: 其中使用了 $this->app->controller 的方法来实例化控制器,然后调用实例化中的方法,跟进controller方法: 其中通过 parseModuleAndClass 方法解析出 $module , $class 。然后实例化 $class 。 着重看一下 parseModuleAndClass 方法: 发现 $name 如果以反斜线\开始时,直接进入第一个if判断,将 $name 直接作为类名,如果可以控制 $name

基于selenium的twitter博文评论爬虫

假装没事ソ 提交于 2020-02-23 04:59:07
技术合作联系:13958075150 【1】首次登录获取cookies并存为文件 from selenium import webdriver import time import json br = webdriver.Chrome() br.get("https://twitter.com/login?prefetchTimestamp=1574961630352") # 填写手机号 user_name = br.find_element_by_css_selector('#page-container > div > div.signin-wrapper > form > fieldset > div:nth-child(2) > input') user_name.send_keys('您的账号') # 填写密码 password_input = br.find_element_by_xpath('//*[@id="page-container"]/div/div[1]/form/fieldset/div[2]/input') password_input.send_keys('您的密码') # 登陆 br.find_element_by_xpath('//*[@id="page-container"]/div/div[1]/form/div[2]/button')