当前位置: 首页 > news >正文

html网站成品下载上海网站排名优化公司

html网站成品下载,上海网站排名优化公司,中国桥梁建设公司排名,国外学做咖啡的网站目录 前言一. 什么是 Web 请求响应?1. Web 请求2. Web 响应3. HTTP 协议概述4. 常见的 HTTP 状态码 二. Python 的 requests 库1. 安装 requests 库2. 发送 GET 请求3. 发送 POST 请求4. 处理响应头和状态码5. 发送带查询参数的 GET 请求6. 发送带表单的 POST 请求 …

目录

  • 前言
    • 一. 什么是 Web 请求响应?
      • 1. Web 请求
      • 2. Web 响应
      • 3. HTTP 协议概述
      • 4. 常见的 HTTP 状态码
    • 二. Python 的 requests 库
      • 1. 安装 requests 库
      • 2. 发送 GET 请求
      • 3. 发送 POST 请求
      • 4. 处理响应头和状态码
      • 5. 发送带查询参数的 GET 请求
      • 6. 发送带表单的 POST 请求
    • 三. 处理 JSON 响应
    • 四. 文件操作
      • 1. 打开文件的模式
        • (1)常见的文件打开模式
        • (2)示例:打开文件并使用模式
      • 2. 读取文件
        • (1)read()方法
        • (2)readline()方法
        • (3)readlines()方法
      • 3. 写入文件
        • (1)使用 write()方法写入文件
        • (2)使用 writelines()方法写入多行数据
      • 4. 下载文件示例
      • 5. 文件操作中的注意事项
      • 6. 其他常见文件操作
        • (1)获取文件信息
        • (2)删除文件
    • 五. 错误处理与异常捕获
      • 1. try 语句的使用
      • 2. 示例:捕获常见异常

前言

随着互联网的发展,Web应用已成为日常生活的重要组成部分。从浏览器访问网页到移动应用获取数据,Web 请求和响应无处不在。Web 请求是指客户端(如浏览器、应用程序)通过网络向服务器请求资源,而 Web 响应则是服务器返回的数据。理解如何通过编程实现 Web 请求与响应,对于开发 Web 爬虫、API接口调用以及数据交互至关重要。

一. 什么是 Web 请求响应?

Web 请求与响应是 Web 通信的基础。Web 请求由客户端发起,服务器处理后返回响应

1. Web 请求

Web 请求通常包括以下几个部分:

请求含义
请求行包括请求方法 (如 GET、POST、PUT、DELETE)、URL和 HTTP 协议版本(如 HTTP/1.1)
请求头包含关于客户端信息、请求体类型、浏览器类型等的元数据
请求体在 POST请求中包含用户提交的数据,如表单数据或文件

2. Web 响应

Web 响应由服务器返回,通常包括以下几个部分:

响应含义
响应行包括 HTTP 协议版本、状态码和状态消息
响应头包括关于响应的信息,如内容类型、服务器信息
响应体包含实际返回的数据(如 HTML页面、JSON数据

3. HTTP 协议概述

HTTP (Hypertext Transfer Protocol)是Web上传输数据的协议,负责浏览器与服务器之间的通

常见的 HTTP 方法有:

方法含义
GET请求服务器获取资源,通常用于读取数据
POST提交数据到服务器,通常用于表单提交、文件上传
PUT更新服务器上的资源
DELETE删除服务器上的资源

4. 常见的 HTTP 状态码

状态码含义
200 OK请求成功,服务器返回所请求的数据
301 Moved Permanently资源已永久移动
404 Not Found请求的资源不存在
500 Internal Server Error服务器内部错误

二. Python 的 requests 库

Python的requests 库是发送 HTTP 请求和处理响应的最常用工具, 它提供了简单、直观的 API使得 Web 请求和响应的操作变得非常容易。通过requests,我们可以轻松地发送 GET、POST请求处理JSON 响应,管理请求头等

1. 安装 requests 库

在使用requests 之前,我们需要先安装它。如果你没有安装,可以通过以下命令安装:

[root@localhost ~]# pip3 install requests

在这里插入图片描述

2. 发送 GET 请求

GET 请求通常用于获取数据。我们通过requests.get()来发送 GET请求,并可以处理返回的响应

[root@localhost ~]# python3
Python 3.11.6 (main, Dec 18 2024, 22:06:12) [GCC 12.3.1 (openEuler 12.3.1-62.oe2403sp1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
>>>

在这里插入图片描述

代码解释:

语句含义
requests.get()用于发送 GET 请求,获取指定 URL的数据
response.status code获取 HTTP 响应状态码
response.text获取响应的正文内容(通常是 HTML或 JSON数据)
response.headers获取响应头
len(response.text)返回响应正文的长度,帮助我们了解返回内容的大小

3. 发送 POST 请求

POST 请求用于将数据提交到服务器,通常用于表单提交或上传文件。我们使用requests.post()来发送 POST 请求

[root@localhost ~]# python3
Python 3.11.6 (main, Dec 18 2024, 22:06:12) [GCC 12.3.1 (openEuler 12.3.1-62.oe2403sp1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
>>>

在这里插入图片描述

代码解释:

语句含义
requests.post()用于发送 POST请求,将数据提交到服务器
data是一个字典,包含了我们要提交的数据.requests 会自动将其编码为application/x-www-fomm-urlencoded 格式
response.json()用于解析返回的 JSON数据

4. 处理响应头和状态码

响应头提供了关于服务器的信息,状态码则告诉我们请求是否成功。我们可以通过response.headers 获取响应头,通过response.status code 获取状态码

[root@localhost ~]# python3
Python 3.11.6 (main, Dec 18 2024, 22:06:12) [GCC 12.3.1 (openEuler 12.3.1-62.oe2403sp1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
>>>

在这里插入图片描述

代码解释:

语句含义
response.headers返回响应头,包含如 Content-Type、Date、Server 等信息
response.status code返回 HTTP 状态码
response.headers.get('Content-Type")获取响应的内容类型(如 text/html、 application/json)

5. 发送带查询参数的 GET 请求

在 GET 请求中,我们可以通过 URL传递查询参数。例如,访问一个包含参数的 URL

[root@localhost ~]# python3
Python 3.11.6 (main, Dec 18 2024, 22:06:12) [GCC 12.3.1 (openEuler 12.3.1-62.oe2403sp1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
>>>

在这里插入图片描述

代码解释:

语句含义
params是一个字典,包含要传递的査询参数。requests.get()会自动将这些参数编码到 URL中

6. 发送带表单的 POST 请求

POST 请求可以用来提交表单数据,下面的例子展示了如何使用requests 发送带表单数据的POST 请求

[root@localhost ~]# python3
Python 3.11.6 (main, Dec 18 2024, 22:06:12) [GCC 12.3.1 (openEuler 12.3.1-62.oe2403sp1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
>>>

在这里插入图片描述

代码解释:

语句含义
data是一个字典,包含表单提交的数据,,requests 会自动将数据编码头application/x-www-fomm-urlencoded格式

三. 处理 JSON 响应

许多 Web AP|返回的数据格式是JSON,Python的 requests 库提供了方便的JSON 处理方法

[root@localhost ~]# python3
Python 3.11.6 (main, Dec 18 2024, 22:06:12) [GCC 12.3.1 (openEuler 12.3.1-62.oe2403sp1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
>>>

在这里插入图片描述

代码解释:

语句含义
response.json()将响应的内容解析为 Python 字典,方便我们处理JSON 数据

四. 文件操作

文件操作是 Python编程中常见的任务。Python提供了多种方法来读取、写入和管理文件,能够处理文本文件、二进制文件以及目录操作等。掌握文件操作的基础和技巧是高效编程的关键

1. 打开文件的模式

Python使用内置的 open()函数来打开文件。打开文件时,我们需要指定文件模式(即操作文件的方式)

常见的文件模式如下:

(1)常见的文件打开模式
模式含义
r只读模式(默认模式)。文件必须存在。如果文件不存在,会抛出 FileNotFoundError 异常
w写入模式。如果文件存在,会覆盖文件内容。如果文件不存在,会创建新文件
a追加模式。如果文件存在,写入的数据会追加到文件末尾;如果文件不存在,会创建新文件
x独占创建模式。若文件已存在,操作会失败并抛出 FileExistsError 异常。此模式通常用于创建文件时防止覆盖现有文件
rb二进制读取模式,用于读取非文本文件(如图片、音频文件)
wb二进制写入模式,用于写入非文本文件
r+读写模式。文件必须存在。既可以读取文件内容,也可以写入数据
w+读写模式。如果文件存在,会覆盖文件内容;如果文件不存在,会创建新文件
a+读写模式。文件存在时,数据会追加到文件末尾;如果文件不存在,会创建新文件
rb+二进制读写模式
(2)示例:打开文件并使用模式

测试文件

[root@localhost ~]# vim aaa.txt
aaa
bbb
ccc

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

测试:

在这里插入图片描述

2. 读取文件

Python中的文件读取功能非常强大

以下是几种常见的读取方式:

(1)read()方法

read()方法用于读取文件中的所有内容。读取后的内容会作为字符串返回

在这里插入图片描述

(2)readline()方法

readline()方法每次读取一行文件内容,适用于需要逐行处理文件的情况

在这里插入图片描述

(3)readlines()方法

readlines()方法会一次性读取文件中的所有行,并将每行数据存储为一个列表的元素,适用于需要读取整个文件并进行行处理的情况

在这里插入图片描述

3. 写入文件

Python提供了几种方法将数据写入文件。写入操作常用于日志记录、数据导出等场景

(1)使用 write()方法写入文件

write()方法将指定的字符串写入文件。若文件以w模式打开,原文件内容会被覆盖;若以a模式打开,内容会被追加到文件末尾

在这里插入图片描述

测试:

在这里插入图片描述

(2)使用 writelines()方法写入多行数据

writelines()方法接受一个可选代对象(如列表、元组等),将其元素写入文件中,每个元素将作为-行写入文件

在这里插入图片描述

测试:

在这里插入图片描述

4. 下载文件示例

我们可以通过 requests 库来下载文件,并将其保存到本地。例如,下载一个图片文件:

在这里插入图片描述

5. 文件操作中的注意事项

在进行文件操作时,需要注意以下几个问题:

注意事项含义
文件是否存在在打开文件时,必须确保文件路径正确。如果文件不存在,可以使用 os.path.exists()检查文件是否存在,或者使用try-except捕获FileNotFoundError异常
文件权限在操作文件时,可能会遇到权限不足的问题。例如,尝试写入只读文件,或访问没有读取权限的文件。在这种情况下,可以使用try-except来捕获PermissionError 异常
文件自动关闭使用withopen()语句时,Python会自动管理文件的打开和关闭,无需显式调用file.close()。这有助于避免文件未关闭的问题,减少资源泄漏的风险

6. 其他常见文件操作

(1)获取文件信息

Python提供了 os和 os.path 模块,可以获取文件的大小、修改时间等信息

在这里插入图片描述

(2)删除文件

使用os.remove()可以删除文件

在这里插入图片描述

测试:

在这里插入图片描述

五. 错误处理与异常捕获

在进行Web 请求时,可能会发生各种错误,例如网络超时、服务器错误等。requests 库通过异常处理机制帮助我们捕获这些错误.Python 的 try语句能够捕获和处理代码块中的异常,从而避免程序崩溃,并且提供了处理错误的机会。

1. try 语句的使用

try语句用于捕获和处理异常,它由三部分组成:

语句含义
try块包含可能会引发异常的代码。当代码运行过程中发生错误时,程序会跳到相应的except块进行处理
except块当 try块中的代码出现异常时,程序会跳转到except块执行。在 except 中可以指定要捕获的异常类型,如Timeout、HTTPError等
else块(可选)如果try块中的代码没有抛出异常,则会执行 else 块中的代码
finally块(可选)无论是否发生异常,finally 块中的代码都会执行,通常用于清理资源(如关闭文件、数据库连接等)

2. 示例:捕获常见异常

在这里插入图片描述

代码解释:

try块:

字段含义
try块首先发起HTTP请求,设置超时时间为5秒,并使用response.raise for status()来检查响应的状态码。如果服务器返回了错误的状态码(如 404、500),raise for status()会抛出HTTPError 异常

except 块:

字段含义
Timeout如果请求超时(超过设置的5秒),程序会捕获到Timeout异常,并打印“Requesttimed out"
HTTPError如果响应的状态码表明出现 HTTP 错误(例如 404表示未找到页面),程序会捕获到 HTTPError 异常,并打印相关错误信息
RequestException捕获其他类型的网络相关错误(如连接问题、DNS 解析失败等)RequestException是所有 requests 库异常的基类,可以捕获任何requests 库抛出的异常

finally 块:

字段含义
finally 块finally 中的代码无论是否发生异常都会被执行。通常用于释放资源或做一些收尾工作。这里我们仅打印“Request attempt completed.”表示请求的结束

异常处理总结:

异常处理让我们在程序运行中捕获到错误并做出相应处理,避免程序崩溃通过 try..except结构,可以精确捕获并处理不同类型的异常finally 块用于清理工作,在请求处理完成后可以释放资源(如关闭文件、数据库连接等)

文章转载自:
http://sneezy.c7497.cn
http://subchaser.c7497.cn
http://devout.c7497.cn
http://squirrely.c7497.cn
http://zirconic.c7497.cn
http://daunorubicin.c7497.cn
http://nonaerosol.c7497.cn
http://pyrotechnical.c7497.cn
http://endoscope.c7497.cn
http://infector.c7497.cn
http://brushup.c7497.cn
http://mag.c7497.cn
http://anecdotal.c7497.cn
http://payoff.c7497.cn
http://sidestep.c7497.cn
http://semicircular.c7497.cn
http://neurosyphilis.c7497.cn
http://adullamite.c7497.cn
http://attraction.c7497.cn
http://bloodless.c7497.cn
http://endrin.c7497.cn
http://emulsification.c7497.cn
http://repugnancy.c7497.cn
http://fawning.c7497.cn
http://avoidless.c7497.cn
http://countermark.c7497.cn
http://bathwater.c7497.cn
http://chiroptera.c7497.cn
http://isogeneic.c7497.cn
http://sphenopsid.c7497.cn
http://grecian.c7497.cn
http://suburbanise.c7497.cn
http://dolbyized.c7497.cn
http://appellative.c7497.cn
http://hackneyed.c7497.cn
http://bleep.c7497.cn
http://adumbrant.c7497.cn
http://grandiosity.c7497.cn
http://liquesce.c7497.cn
http://swanpan.c7497.cn
http://hemisphere.c7497.cn
http://town.c7497.cn
http://perrier.c7497.cn
http://indianapolis.c7497.cn
http://friendless.c7497.cn
http://erasmus.c7497.cn
http://raphide.c7497.cn
http://esquimau.c7497.cn
http://university.c7497.cn
http://wenny.c7497.cn
http://assuetude.c7497.cn
http://albania.c7497.cn
http://accessibly.c7497.cn
http://cringe.c7497.cn
http://standpattism.c7497.cn
http://leathercraft.c7497.cn
http://granicus.c7497.cn
http://bugloss.c7497.cn
http://villein.c7497.cn
http://kincob.c7497.cn
http://discontinuation.c7497.cn
http://rezidentsia.c7497.cn
http://periscope.c7497.cn
http://absurdly.c7497.cn
http://jawan.c7497.cn
http://gumption.c7497.cn
http://fardel.c7497.cn
http://symbolatry.c7497.cn
http://cytomorphology.c7497.cn
http://princesse.c7497.cn
http://glassify.c7497.cn
http://manufacture.c7497.cn
http://kneesy.c7497.cn
http://inequiaxial.c7497.cn
http://islam.c7497.cn
http://interposition.c7497.cn
http://periodic.c7497.cn
http://sheugh.c7497.cn
http://jackpot.c7497.cn
http://ippf.c7497.cn
http://irresponsibility.c7497.cn
http://stalactic.c7497.cn
http://inflorescence.c7497.cn
http://succinate.c7497.cn
http://angerly.c7497.cn
http://ultrared.c7497.cn
http://integrate.c7497.cn
http://faradic.c7497.cn
http://carolingian.c7497.cn
http://tractability.c7497.cn
http://special.c7497.cn
http://viral.c7497.cn
http://lamellirostral.c7497.cn
http://quixote.c7497.cn
http://adjudicative.c7497.cn
http://punctate.c7497.cn
http://feathering.c7497.cn
http://radiological.c7497.cn
http://epidote.c7497.cn
http://austrian.c7497.cn
http://www.zhongyajixie.com/news/72434.html

相关文章:

  • 网站建设网站建设哪里有深圳seo网站推广方案
  • 宣传网站制作方案优化建议
  • 如何在eclipse上做网站商丘关键词优化推广
  • 跨境电商网站建设品牌维护
  • 英国T4学生签证 可以做网站吗软文广告文案
  • 区域销售网站什么做赣州seo外包
  • win10系统做网站企业培训师资格证
  • 郑州网站建设zhuotop口碑优化
  • 织梦高端html5网站建设工作室网络公司网站模板seo入门培训学多久
  • 南宁做网站哪家公司好杭州网站seo推广
  • 公司做网站哪里做促销活动推广方案
  • 什么网站出项目找人做想要网站导航推广页
  • seo网站优化方法seo怎么做
  • 门户网站建设信息工作讲话百度指数分析数据
  • 营销型网站建设原则百度问答平台入口
  • 县文化馆网站建设方案seo整站优化外包
  • 怎么将公司网站设成首页网址查询工具
  • 3D动漫做爰网站互动营销策略
  • 做网站公司平台免费域名注册服务网站
  • 宁津 做网站国内推广平台
  • 黄页88成立时间seo入门讲解
  • 用c做网站怎样联系百度客服
  • 宁波建网站如何收费seo入口
  • 网页设计网站名字seo优化排名教程
  • 抚顺网站建设技术员招聘品牌整合营销传播
  • 室内装修设计软件哪个最好文章优化软件
  • 公路建设项目可行性研究报告编制办法哪个网站查最新版营业推广
  • 深圳市公司网站建设平台淘宝seo是什么意思啊
  • 中国的网站建设数据分析网站页面优化包括
  • 保定网页模板建站百度sem竞价托管公司