首页 > 其他分享 >re基础

re基础

时间:2024-08-23 09:26:08浏览次数:9  
标签:字符 HTTP 请求 匹配 IP 基础 re 服务器

网络基础

1.网络协议

OSI七层模型

应用层 提供应用程序间通信 7
表示层 处理数据格式,数据加密等 6
会话层 建立,维护和管理会话 5
传输层 建议主机端到端连接 4
网络层 寻址和路由选择 3
数据链路层 提供介质访问,链路管理等 2
物理层 比特流传输 1

TCP/IP协议栈

应用层 提供应用此程序网络接口
传输层 建立端到端连接
网络层 寻址和路由的选择
数据链路层 物理介质访问
物理层 二进制数据流传输

SSH:安全外壳协议,基于TCP,使用22号端口,为建立在应用层和传输层基础上的安全协议。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。

1.1HTTP协议

HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,它是基于TCP的应用层协议客户端和服务端进行通信的一种规则,它的模式非常简单,就是客户端发起请求,服务端响应请求。

1.2HTTP请求

GET 从服务器获取指定(请求地址)的资源的信息,它通常只用于读取数据,就像数据库查询一样,不会对资源进行修改。

POST 向指定资源提交数据(比如提交表单,上传文件),请求服务器进行处理。数据被包含在请求正文中,这个请求可能会创建新的资源或更新现有的资源。

PUT 通过指定资源的唯一标识(在服务器上的具体存放位置),请求服务器创建或更新资源。

DELETE 请求服务器删除指定资源。

HEAD 与GET方法类似,从服务器获取资源信息,和GET方法不同的是,HEAD不含有呈现数据,仅仅是HTTP头信息。HEAD的好处在于,使用这个方法可以在不必传输全部内容的情况下,就可以获得资源的元信息(元数据)。

OPTIONS 该方法可使服务器传回资源所支持的所有HTTP请求方法

1.3HTTP响应

状态行:包含HTTP协议版本,状态码和状态描述,以空格分隔

响应头:即消息报头,包含一系列的键值对

响应正文:返回内容,注意和响应头之间有一个空行

1.4HTTP状态码

1xx消息 --请求已被服务接收,继续处理

2xx成功-- 请求已成功被服务器接收,理解,并接受

200OK

201 Created已创建

202 Accepted接收

203 Non-Authoritative Information 非认证信息

204 No Content 无内容

3XX 重定向 --需要后续操作才能完成这一请求

301 Moved Permanently 请求永久重定向

302 Moved Temporarily 请求临时重定向

304 Not Modified 文件未修改,可以直接使用缓存文件

305 Use Proxy 使用代理

4XX 请求错误--请求含有词法错误或者无法被执行

400 Bad Request 由于客户端请求有语法错误,不能被服务器所理解

401 Unauthorized 请求未经授权,这个状态码必须和WWW-Authenticate报头域一起使用

403 Forbidden 服务器收到请求,但是拒绝提供服务。服务器通常会在响应正文中给出不提供服务的原因。

404 Not Found 请求的资源不存在,例如,输入了错误的URL

5xx 服务器错误--服务器在处理某个正确请求时发生错误

500 Internal Server Error服务器发生不可预期的错误,导致无法完成客户端的请求

503 Service Unavaiable 服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常

504 Gateway Time-out 网关超时

image-20240819234557827

image-20240819234754813

2.requests模块的深度解析

2.1 requests模块的安装
2.2 requests模块的基本请求方法
2.3 requests模块保持登录凭据
2.4 requests设置代理

IP池和隧道代理的区别

IP池:动态IP池中获取的是大量的IP,需要爬虫自己切换代理IP,并发送请求

代理隧道:只需要将请求发给隧道,由隧道自行选择可用代理并转发请求

3.正则表达式

常用元字符

. 匹配换行符以外的任意字符
\w 匹配字母或数字或下划线
\s 匹配任意的空白符
\d 匹配数字
\n 匹配一个换行符
\t 匹配一个制表符
^ 匹配字符串的开始
$ 匹配字符串的结尾
\W 匹配非字母或数字或下划线
\D 匹配非数字
\S 匹配非空白符
a|b 匹配字符a或字符b
() 匹配括号内的表达式,也表示一个组
[...] 匹配字符组中的字符
[^...] 匹配除了字符组中字符的所有字符

量词:控制前面的元字符出现的次数

* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
重复n次
重复n次或更多次
重复n到m次

贪婪匹配和惰性匹配

.* 贪婪匹配,尽可能多的去匹配结果
.*? 惰性匹配,尽可能少的去匹配结果 ->回溯算法

标签:字符,HTTP,请求,匹配,IP,基础,re,服务器
From: https://www.cnblogs.com/CyfS1mple/p/18375248

相关文章

  • 在Spring Boot项目中集成Geth(Go Ethereum)
    在SpringBoot项目中集成Geth(GoEthereum)客户端,通常是为了与以太坊区块链进行交互。以下是一些基本的步骤和考虑因素,帮助你在SpringBoot应用程序中集成Geth。安装Geth首先,你需要在你的机器上安装Geth。你可以从官方网站下载适合你操作系统的版本。启动Geth安装完成后......
  • 高效缓存策略——.NET Core 中基于 Redis 的分布式缓存实现
    引言在构建高性能的应用程序时,缓存是不可或缺的技术之一。通过缓存,我们能够显著减少数据库的压力、提升应用的响应速度。而在分布式系统中,分布式缓存则成为了处理高并发和大数据量的理想选择。本文将以Redis为例,介绍如何在.NETCore中实现分布式缓存,帮助开发者打造高效......
  • 05-02 Relationships Between Objects(对象之间的关系 )
    RelationshipsBetweenObjects(对象之间的关系)XPOsupportsthreetypesofrelationshipsbetweenobjects.Thetypeofarelationshipthatiscreateddependsuponhowrelatedobjectsaredefined.XPO支持对象之间的三种类型的关系。创建的关系类型取决于相关对......
  • 05-04 Basics of Creating Persistent Objects for Existing Data Tables(为现有数据表
    BasicsofCreatingPersistentObjectsforExistingDataTables(为现有数据表创建持久对象的基础知识)ToaccessanexistingdatatableinadatabaseandworkwithitusingthefunctionalityprovidedbyeXpressPersistentObjects(XPO),youneedtocreateap......
  • 05-01 Create a Persistent Object(创建持久对象)
    CreateaPersistentObject(创建持久对象)TheXPOORMcanloadandsavetoadatastoreonlypersistentobjects.XPOORM只能加载持久对象并将其保存到数据存储中。Youmakeyourbusinessobjectspersistentinanyofthefollowingways:您可以通过以下任何方式......
  • 什么?!90%的ThreadLocal都在滥用或错用!
    最近在看一个系统代码时,发现系统里面在使用到了ThreadLocal,乍一看,好像很高级的样子。我再仔细一看,这个场景并不会存在线程安全问题,完全只是在一个方法中传参使用的啊!(震惊)难道是我水平太低,看不懂这个高级用法?经过和架构师请教和确认,这完全就是一个ThreadLocal滥用的典型案例啊!......
  • SQL 查询优化之 WHERE 和 LIMIT 使用索引详解
    奇怪的慢sql我们先来看2条sql第一条:第二条:表的索引及数据总情况: 索引:acct_id,create_time分别是单列索引,数据库总数据为500w。通过acct_id过滤出来的结果集在1w条左右。 查询结果:第一条要5.018s,第二条0.016s为什么会是这样的结果呢?第一,acct_id和create_time都有索引,不......
  • Linux基础软件-yum(一)
    作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。Linux进阶部分又分了很多小的部分,我们刚讲完了Linux日常运维。讲的那些东西都算是系统自带的,但是Linux作为一个服务器操作系统,肯定是要安装运行软件......
  • 【408DS算法题】022基础-递增输出单链表中的结点值
    Index题目分析实现总结以上内容稍后补全,以下内容来自https://blog.csdn.net/weixin_60702024/article/details/141336041题目分析实现总结分析题目给定单链表的头结点,按照递增的顺序,输出单链表结点的值。分析实现具体实现如下:总结注意delete执行后,只会将......
  • SciTech-BigDataAIML-LLM-PE(Positional Encoding)位置编码: Absolute(绝对)Position
    SciTech-BigDataAIML-LLMPE(PositionalEncoding)位置编码:1Absolute(绝对)Position2Relative(相对)Position3Rotate(旋转)Position......