黑帽seo培训_渗透安全培训_若钒安全网

若钒渗透技术及黑帽SEO培训,
一对一教学国内外白帽黑帽seo技术!微信:tllieshou520

python web渗透测试工具学习2Web应用交互2访问web工具requests

若钒seo黑帽安全技术,提供最专业的web渗透技术和web渗透技术视频直播 以实战为主。提供最专业正规技术服务,欢迎咨询!!请求是一个基于Apache 2许可的Python许可的人性化HTTP库。

Urllib 2在Python标准库中提供了很多HTTP功能,但是API并不系统。

这有点过时了,要完成最简单的任务需要做大量的工作。

它由RFC 2616规范定义,并由RFC 2518、RFC 2817、RFC 2295、RFC 2774和RFC 4918规范扩展。

所有状态代码的个数字表示响应的五种状态之一。

显示的消息短语是典型的,但可以提供任何可读的替代方案。

除非另有说明,状态代码是HTTP/1.1标准(RFC 7231)的一部分。

HTTP状态代码的正式注册表由Internet编号分配(Internet分配号码管理局)维护。

Microsoft Internet Information Service(Microsoft Internet Information Services)有时使用附加的十进制子代码来获取更多的特定信息,但这些子代码仅在响应有效内容和文档时出现,而不是替换实际的HTTP状态代码。

这种类型的1XX消息的状态代码表示请求已被接受,需要继续处理。

这样的响应是一个临时响应,它只包含状态行和一些可选的响应头信息,并以空行结束。

由于HTTP/1.0协议中没有定义1xx状态代码,服务器禁止向此类客户端发送1xx响应,除非在某些实验条件下。

这些状态代码表示信息丰富的响应,并指示客户应该采取的其他操作。

100继续服务器已经接收到请求头,客户端应该继续发送请求主体(如果是来自主体的请求:例如,POST请求),或者如果请求已经完成,则忽略响应。

服务器必须在请求完成后向客户端发送最终响应。

为了让服务器检查请求的头,客户端必须在其初始请求中发送Expect:100-继续作为标头,并在发送主体之前接收100继续状态代码。

响应代码417期望失败指示请求不应继续。

101交换协议服务器已经理解了客户端的请求,并将通过升级消息头通知客户端采用不同的协议来完成请求。

在发送响应的最后一空行之后,服务器将切换到升级头中定义的协议。

只有在更有利于转换新协议的情况下,才应采取类似措施。

例如,切换到HTTP的新版本(例如HTTP/2)比旧版本有优势,或者使用实时同步协议(如WebSocket)来提供利用这些特性的资源。

处理(WebDAV;RFC 2518)WebDAV请求可能包含许多涉及文件操作的子请求,并且需要很长时间才能完成。

此代码指示服务器已接收并正在处理请求,但没有响应。

这可以防止客户端超时,并假定请求丢失。

2XX成功此类型的状态代码表示请求已被服务器成功接收、理解和接受。

该200OK请求已成功,该请求的所需响应头或数据体将与此响应一起返回。

实际响应将取决于所使用的请求方法。

在GET请求中,响应将包含与请求的资源相对应的实体。

在POST请求中,响应将包含描述或操作结果的实体。

已经实现了创建的请求,并根据请求创建了一个新的资源,它的URI已与位置标头信息一起返回。

如果不能及时创建所需的资源,则应返回202接受。

202已接受的服务器已接受请求,但尚未处理。

请求可能会被执行,也可能不会被执行,并且可能在处理发生时被禁止。

203非权威信息(因为HTTP/1.1)服务器是一个过渡代理服务器(转换代理,如网络加速器,起源于200 OK状态代码,但响应原始响应的修改版本。

无内容服务器成功地处理了请求,没有返回任何东西。

重置内容服务器成功地处理了请求,但没有返回任何内容。

与204响应不同,此响应要求请求者重置文档视图。

206部分内容(RFC7233)服务器已成功处理了一些GET请求。

HTTP下载工具,如FlashGet或Thunder bolt使用此类响应进行断点续传或同时将一个大文档分解为多个下载段。

多状态(WebDAV;RFC 4918)表示后续消息主体将是XML消息,并可能包含一系列独立的响应代码,这取决于以前的子请求的数量。

已经报告(WebDAV;RFC5842)DAV绑定的成员已在(多状态)响应之前列出,并且没有再次包含。

所使用的226IM(RFC3229)服务器满足了资源请求,并表示该实体请求的一个或多个实体操作的结果。

3xx重定向这样的状态代码代表了客户端需要采取进一步的行动来完成请求。

通常,这些状态代码用于重定向,随后的请求地址(重定向目标)将在此响应的位置域中指定。

当且仅当用于后续请求的方法是GET或HEAD时,用户浏览器可以自动提交所需的后续请求,而无需用户干预。

正如HTTP/1.0规范中所建议的那样,浏览器不应自动访问重定向超过5次。

300多个选择请求的资源有一系列可供选择的反馈信息,每一个都有自己的特定地址和浏览器驱动的协商信息。

用户或浏览器可以为重定向选择首选地址。

除非这是HEAD请求,否则响应应该包括资源属性和地址列表的实体,以便用户或浏览器可以选择最合适的重定向地址。

此实体的格式由Content-Type定义的格式决定..

浏览器可以根据响应的格式和浏览器本身的能力自动做出最合适的选择。

当然,RFC 2616规范没有指定如何进行这种自动选择。

如果服务器本身已经有了首选的反馈选择,则应该指示位置中的反馈的URI;浏览器应该使用位置值作为自动重定向的地址。

此外,除非另有规定,还可以缓冲响应。

301永久移动所请求的资源已永久移动到新位置,以后对该资源的任何引用都应使用此响应返回的几个URI中的一个。

如果可能的话,进行链接编辑的客户端应该自动将请求的地址更改为从服务器反馈回来的地址。

除非另有规定,否则响应也是可寻址的。

响应位置域中应该返回一个新的永久URI。

除非这是HEAD请求,否则响应实体应该包含超链接和对新URI的简短说明。

如果这不是GET或HEAD请求,浏览器禁止自动重定向,除非得到用户的确认,因为请求的条件可能会因此而改变。

注意:对于一些使用HTTP/1.0协议的浏览器,当它们发送的POST请求获得301响应时,下一个重定向请求将变为GET模式。

302 Found要求客户端执行临时重定向(最初的描述短语是临时移动“)。”

由于这种重定向是临时的,客户端应该继续向原始地址发送后续请求。

只有在缓存控制或过期中指定,此响应才可缓存。

响应位置域中应该返回一个新的临时URI。

除非这是一个HEAD请求,响应实体应该包含超链接和新URI的简短说明。

如果这不是GET或HEAD请求,浏览器禁止自动重定向,除非用户确认,因为请求的条件可能因此而改变。

注意:虽然RFC1945和RFC2068规范不允许客户端在重定向时更改请求的方法,但许多现有浏览器将GET响应视为303响应,并使用GET访问URI,无论最初请求的方法如何,都在Location中指定。

因此,添加状态代码303和307以确定服务器期望客户端如何响应。

303 SeeOther对当前请求的响应可以在另一个URI上找到,当对POST(或PUT/DELETE)的响应接收到响应时,客户端应该假设服务器已经接收到数据,并且应该使用单独的GET消息重定向。

这种方法主要是为了允许脚本激活的POST请求输出重定向到新资源。

这个新URI不是原始资源的替代引用。

同时,禁止303响应被缓冲。

当然,可以缓存第二个请求(重定向)。

新的URI应该在响应的Location域中返回。

除非这是HEAD请求,否则响应实体应该包含超链接和对新URI的简短说明。

注意:许多以前的HTTP/1.1浏览器没有正确地理解303的状态。

如果需要考虑与这些浏览器的交互,则302状态代码应该是合格的,因为大多数浏览器处理302响应完全符合上述规范要求客户端在处理303响应时所做的工作。

未修改表示资源未被修改,因为版本IF-修改-自或如果-无匹配指定的请求头。

在这种情况下,由于客户端仍然有以前下载的副本,因此不需要重新传输资源。

305使用代理请求的资源必须通过指定的代理访问。

指定代理的URI信息将在Location域中提供,通过该域,收件人将需要重复一个单独的请求来访问相应的资源。

只有原始服务器才能创建305个响应。

许多HTTP客户端,如Mozilla和InternetExplorer,没有正确地处理此状态代码响应,主要是出于安全原因。

注:RFC2068中没有明确响应重定向单独的请求,只能由原服务器建立..

忽视这些限制可能导致严重的安全后果。

306开关代理在最新版本的规范中,306状态码不再使用。

最初,后续请求应该使用指定的代理。

307在这种情况下,请求应该用另一个URI重复,但是后续请求仍然应该使用原始URI。

与302相反,当重新发出原始请求时,不允许更改请求方法。

例如,应该使用另一个POST请求来重复POST请求。

308永久重定向(R FC7538)请求和所有未来的请求应使用另一个URI重复。

对307和308重复302和301的行为,但不允许HTTP方法改变..

例如,向永久重定向提交表单的资源可能会顺利进行。

4xx客户端错误--这种类型的状态代码表示客户端可能出现了错误,从而阻碍了服务器的处理。

除非响应是HEAD请求,否则服务器应该返回一个实体,该实体解释当前的错误条件,以及它是临时的还是永久的。

这些状态代码适用于任何请求方法。

浏览器应向用户显示此错误响应中包含的任何实体内容。

如果客户端在发生错误时正在传输数据,则使用TCP的服务器实现应在关闭客户端与服务器之间的连接之前仔细确保客户端已收到包含错误消息的数据包。

如果客户端在收到错误消息后继续向服务器发送数据,则服务器的TCP堆栈将向客户端发送重置数据包,以清除该客户端的所有未识别的输入缓冲区,以免服务器上的应用程序读取数据并干扰后者。

由于明显的客户端错误(例如,格式错误的请求语法、太大的大小、无效的请求消息或欺诈性的路由请求),服务器无法或不会处理请求。

401未经授权(RFC 7235)类似于禁止,401语义未经认证,即用户没有必要的凭证。

此状态代码表示当前请求需要用户身份验证。

响应必须包含一个WWW认证头,适合请求的资源请求用户信息。

客户端可以重复提交包含适当的授权头信息的请求。

如果当前请求已经包含授权证书,则401响应表示服务器身份验证已拒绝这些证书。

如果401响应包含与先前响应相同的身份验证查询,并且浏览器至少尝试过一次验证,则浏览器应该向用户显示响应中包含的实体信息,因为该实体信息可能包含相关的诊断信息。

注意:当一个站点(通常是一个站点域名)禁止IP地址时,一些站点状态代码显示401,表明该特定地址被拒绝访问该站点。

402所需付款-身份代码保留给今后可能需要的款项。

状态代码的初始意图可以用作某种形式的数字现金或在线支付计划的一部分,但很少有服务提供商使用它,而且通常不使用此状态代码。

如果某个特定的开发人员超过了要求的每日限制,即GoogleDeveloperAPI,则使用此状态代码。

403禁止服务器理解请求,但拒绝执行请求。

与401响应不同,身份验证不提供任何帮助,并且不应重复提交请求。

如果这不是HEAD请求,并且服务器希望能够解释为什么不能执行请求,那么应该在实体内描述拒绝的原因。

当然,如果服务器不希望客户端获取任何信息,它也可以返回404响应。

404 NotFound请求失败,服务器上找不到所请求的所需资源,但允许用户进行后续请求。

没有信息告诉用户这种情况是暂时的还是永久的。

如果服务器知道这种情况,则应使用410状态代码通知旧资源,由于某些内部配置机制问题,它们永远不可用,并且没有地址可从。

如果服务器不想显示请求被拒绝的原因,或者如果没有其他合适的响应,则会广泛使用此状态代码。

不能使用方法不允许请求行中指定的请求方法来请求相应的资源。

响应必须返回一个允许标头信息列表,该列表指示当前资源可以接受的请求方法。

例如,需要通过POST呈现数据的表单上的GET请求,或只读资源上的PUT请求。

由于PUT,DELETE方法在服务器上写入资源,大多数Web服务器在默认配置下不支持或不允许上述请求方法,并且对此类请求返回405错误。

406请求的资源的内容特性不能被接受,不满足请求头中的条件,因此不能生成响应实体,这是不可接受的。

除非这是HEAD请求,否则响应应该返回一个实体,该实体包含用户或浏览器可以从中选择的最合适的实体属性和地址列表。

实体的格式由内容类型标头中定义的媒体类型决定。

浏览器可以根据其格式和能力做出最佳选择。

然而,在规范中没有定义做出这种自动选择的标准。

所需的407代理身份验证(RFC 2617)类似于401响应,但客户端必须在代理服务器上进行身份验证。

代理服务器必须返回一个代理授权以进行身份查询。

客户端可以返回代理授权头以进行验证.

请求超时请求超时。

根据HTTP规范,客户端在服务器准备等待的时间内不完成请求的发送,客户端可以随时重新提交请求而不做任何更改。

409冲突表示由于请求中的冲突而无法处理请求,例如多个同步更新之间的编辑冲突。

Gone表示所请求的资源不再可用,也将不再可用。

在有意删除资源并清除资源时,应使用此方法。

在接收到410状态码之后,用户应该再次停止请求资源。

但是,大多数服务器不使用此状态代码,而是直接使用404状态代码。

411 LengthRequired服务器拒绝接受请求,而不定义内容长度标头。

在添加指示请求消息长度的有效Content-Length头之后,客户端可以再次提交请求。

当412Precondition Failed(R FC7232)服务器验证在请求的标头字段中给出了先决条件时,它无法满足其中的一个或多个。

此状态代码允许客户端在获取资源时在请求的元信息(请求头字段数据)中设置先决条件,从而防止请求方法被应用到它想要的资源以外的资源。

413请求实体太大(RFC 7231),以前称为请求实体太大,表示服务器拒绝处理当前请求,因为请求提交的实体数据比服务器愿意或能够处理的多。

在这种情况下,服务器可以关闭连接,以便客户端不再继续发送此请求。

如果此条件是临时的,服务器应该返回一个重试后响应头,以告诉客户机它可以重试多长时间。

414请求-URI太长(RFC 7231),以前称为请求-URI太长,表示请求的URI长度超过服务器可以解释的长度,因此服务器拒绝为请求提供服务。

过多数据的结果通常被编码为GET请求的查询字符串,在这种情况下,应该将其转换为POST请求。

这很少见,通常包括:本应使用POST方法的表单提交将成为GET方法,从而导致查询字符串过长。

重定向URI黑洞,例如,将旧的URI作为新的URI的一部分,使URI在几次重定向后过长。

客户端试图利用某些服务器中的安全漏洞攻击服务器。

这样的服务器使用固定长度的缓冲区来读取或操作请求的URI,当参数超过某个值时,这可能会导致缓冲区溢出,从而导致任意代码的执行。

没有此类漏洞的服务器应返回414个状态代码。

415.对于当前请求和请求资源的方法,请求中提交的互联网媒体类型不是服务器中支持的格式,因此请求被拒绝。

例如,客户端以svg,格式上传图像,但服务器要求图像使用上传格式为jpg..

416请求范围不可满足(RFC 7233),以前称为请求范围不可满足。

客户端已经请求文件的一部分(Byte服务),但是服务器不能提供该部分。

例如,如果客户端要求文件的一部分超过文件的结尾。

在请求头Expect中失败的Expect指定的预期内容不能被服务器满足,或者服务器是在当前路由的下一个节点上不能满足Expect内容的证据。

418 I是一个茶壶(RFC 2324)这个操作码在RFC 2324超文本咖啡壶控制协议中定义为IETF在1998年的传统愚人节笑话,不需要在真正的HTTP服务器中定义。

当控制茶壶的HTCPCP接收到煮咖啡的BREW指令或POST指令时,应返回此错误。

420在对客户端进行评级时,使用趋势API增强CaimTwitter搜索返回。

421误定向请求(Rfc 7540)请求被定向到无法产生响应的服务器(例如,由于连接重用)。

不可处理实体(WebDAV;RFC4918)请求的格式正确,但由于语义错误而无法响应。

锁定423(WebDAV;RFC4918)当前资源被锁定。

424失败的依赖项(WebDAV;RFC 4918)当前请求失败是由于先前请求中的一个错误,例如PROPPATCH。

425无序集合在WebDAV高级集合协议中定义,但在Web分布式创作和版本控制(WebDAV)有序集合协议中不存在。

426升级需求(R FC2817)客户端应切换到TLS/1.0,并在HTTP/1.1升级头中给出。

428所需的先决条件(RFC 6585)原始服务器要求请求满足某些条件。

这是为了防止未更新问题,其中客户端读取(获取)资源的状态,更改它,并将它(放回)回服务器,但在此期间,第三方更改了服务器上该资源的状态,从而导致冲突。

429TooMany Requests(R FC6585)用户在给定时间内发送了太多的请求。

431请求标头字段太大(RFC6585)服务器不愿意处理请求,因为一个或多个标头字段太大。

无响应Nginx上的444 HTTP服务器扩展。

服务器不向客户端返回任何信息并关闭连接(以帮助阻止恶意软件)。

这是由Windows家庭控制(Microsoft)HTTP阻止的450状态代码的一个例子,用于信息和测试。

451由于法律原因无法访问,由于法律要求,访问被拒绝,并由IETF在2015年批准后增加。

494请求头在错误代码431之前在Nginx上使用过大的扩展HTTP代码。

服务器错误指示服务器无法完成显著有效的请求。

这种状态代码表示在处理请求过程中出现错误或异常状态,或者可能是服务器意识到当前的软硬件资源无法完成对请求的处理。

除非这是HEAD请求,否则服务器应该包含解释当前错误状态的解释器信息实体,以及这种情况是临时的还是永久性的。

浏览器应向用户显示当前响应中包含的任何实体。

这些状态代码适用于任何响应方法。

500内部服务器错误通用错误消息,服务器遇到意外情况,导致其无法完成请求的处理。

没有给出具体的错误信息。

未实现的服务器不支持当前请求所需的特性之一。

当服务器无法识别所请求的方法并且无法支持其对任何资源的请求时。

(例如,网络服务API的一个新特性)当充当网关或代理的服务器试图执行请求时,502坏网关接收来自上游服务器的无效响应。

由于临时服务器维护或过载,503服务无法处理请求。

这种情况是暂时的,将在一段时间内恢复。

如果可以预测延迟时间,则响应可以包括重试后报头,以指示延迟时间。

如果没有提供重试信息,客户端应该以处理500响应的方式处理它。

当试图作为网关或代理执行请求时,网关超时无法及时从上游服务器(URI标识服务器,如HTTP、FTP、LDAP)或辅助服务器(如DNS)接收响应。

注意:一些代理服务器在发生DNS查询超时时返回400或500个错误。

505HTTP版本不支持或拒绝支持请求中使用的HTTP版本。

这意味着服务器不能或不愿意使用与客户端相同的版本。

响应应该包括一个实体,该实体描述版本不受支持的原因以及服务器支持的协议。

透明内容协商协议(RFC 2295)扩展了506变体(RFC 2295),表示服务器上的内部配置错误,所请求的协商元资源被配置为在透明内容协商中使用自己,因此它不是协商过程中的适当焦点。

507不足存储(WebDAV;RFC 4918)服务器无法存储完成请求所需的内容。

这种情况被认为是暂时的。

508循环检测(WebDAV;RFC 5842)服务器在处理请求时被卡在死循环中。

没有满足获取资源所需的策略(而不是208状态代码)。

511所需的网络认证(RFC 6585)客户端需要认证才能获得网络访问,目的是限制用户社区对特定网络的访问。微信:tllieshou520 QQ:273439015

若钒黑帽seo,提供最专业的黑帽seo和web渗透技术视频直播 以实战为主。提供最专业正规的黑帽seo培训、渗透测试培训、欢迎咨询!! 微信:tllieshou520 QQ:273439015 代码审计培训
转载请注明出处:黑帽seo培训_渗透安全培训_若钒安全网 » python web渗透测试工具学习2Web应用交互2访问web工具requests

若钒黑帽渗透技术-提供最专业的渗透测试培训,黑帽SEO培训,欢迎骚扰!!

若钒黑帽SEO培训 web渗透技术培训
cache
Processed in 0.004142 Second.