猿人学web端爬虫攻防大赛赛题第17题——天杀的http2.0

news/2025/1/18 8:38:45/文章来源:https://www.cnblogs.com/sbhglqy/p/18516477

题目网址: https://match.yuanrenxue.cn/match/17

解题步骤:

  1. 老方法,看触发的数据包。
    image
  2. 只有一个数据包,再看cookie中有没有特殊的字段。
    image
  3. 没有遇到第13题的特殊字段,直接访问。
import requestsurl = "https://match.yuanrenxue.cn/api/match/17?page=1"
headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 ""Safari/537.36","cookie": "sessionid=1zl8qqmuijewpn1pxji9epmjvoaz5ipi; Hm_lvt_9bcbda9cbf86757998a2339a0437208e=1729915594,1729937930,1729945496,1730034166; Hm_lpvt_9bcbda9cbf86757998a2339a0437208e=1730284775"}
resp = requests.get(url, headers=headers)
print(resp.text)

运行却得不到页面上的数字。
image
4. 到底哪里出了问题呢,再结合题目http2.0,难道要用http2.0协议,先查看当前流量包的协议。这里以chrome浏览器为例,右击流量包,选择Header Options然后选择Protocol,就会显示协议号。
image
image
5. 确定是http2.0协议了。根据官方说明,requests只支持http1.1协议,所以这里就不能能用requests库了。
image
6. 经过网上搜索,HyperHttpx两个库支持http2.0。
hyper的话,不是很适用,因为很多功能跟requests库没法类比,所以这里选用httpx。
httpx的安装:pip install httpx[http2] # 这样写才能装上支持http2的httpx,不写的话默认是不支持http2的
7. 用httpx库尝试去访问一下,用法与requests库差不多。

import httpx
import reclient = httpx.Client(http2=True)
sum_num = 0
for i in range(1, 6):url = "https://match.yuanrenxue.cn/api/match/17?page={}".format(i)# print(url)headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 ""Safari/537.36","cookie": "sessionid=1zl8qqmuijewpn1pxji9epmjvoaz5ipi; Hm_lvt_9bcbda9cbf86757998a2339a0437208e=1729915594,1729937930,1729945496,1730034166; Hm_lpvt_9bcbda9cbf86757998a2339a0437208e=1730284775"}resp = client.get(url, headers=headers)pattern = r'{"value": (?P<num>.*?)}'findall = re.findall(pattern, resp.text)for item in findall:# print(item)sum_num += int(item)
print(sum_num)

运行结果如下。
image
8. 提交结果,成功通关。
image

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

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

相关文章

你知道多少种API架构风格

以下是最常用的几种风格:👇🌟 『SOAP』:成熟、全面的XML基础风格,最适合企业应用。🌐 『RESTful』:流行、易于实现的HTTP方法风格,理想用于Web服务。📚 『GraphQL』:查询语言风格,请求特定数据,减少网络开销,响应更快。🚀 『gRPC』:现代、高性能的Protocol…

【java应用】 Jmeter玩法:调用jar包实现AES加密

原创 方知本知 从零做软件测试一、将开发提供的AES java类打成jar包 1.1 打开开发提供的java类 用Eclipse开发工具打开,观察包名。新建项目,在生成的src目录下新建包,名字为java类对应的包名,将java类拖到该包下面。1.2 将该java类导出成jar包格式二、Jmeter调用jar包实现A…

chrony服务

APPSRV、ROUTERSRV、STORAGESRV、ISPSRV 完成服务chrony 配置为全网提供时间同步服务器。 为除本机外的所有主机提供时间同步服务。 每隔5分钟同步一次时间。配置Chrony服务APPSRV作为chrony服务的服务段 其他主机作为客户端 APPSRV 配置服务 vim /etc/chrony.confserver 127.0…

RouterSrv路由服务

RouterSrv 完成服务ROUTING 开启路由转发,为当前实验环境提供路由功能。 根据题目要求,配置单臂路由实现内部客户端和服务器之间的通信。 IPTABLES 添加必要的网络地址转换规则,使外部客户端能够访问到内部服务器上的dns、mail、web和ftp服务。 INPUT、OUTPUT和FOREARD链默认…

15 图灵

可判定行问题:计算机的计算能力是有极限的

发布测试

发布测试`package com.atguitu.test; import com.atguigu.mybatis.mapper.UserMapper; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSes…

20242822《Linux内核原理与分析》第六周作业

实验五——分析 system_call 中断处理过程 在上一次实验中我选择的4号系统调用write 一、打开shell并使用命令启动内核进入menu程序 cd ~/LinuxKernel/ qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img 进入menu程序后,可以看到该系统中仅有3个命令:hel…

《诛仙单机版系列一:六道轮回》安装教程|虚拟机一键端|GM工具包

今天给大家带来一款单机游戏的架设:诛仙-六道轮回-五职业。游戏版本:v1.2.4 只适用于单机娱乐,此教程是本人亲测所写,踩坑无数,如果你是小白跟着教程走也是可以搭建成功。 亲测视频演示 https://githubs.xyz/show/289.mp4游戏安装步骤 此游戏架设需要安装虚拟机,没有虚拟…

根据swagger.yaml生成harbor私库api调用代码

准备 下载https://github.com/goharbor/harbor/blob/main/api/v2.0/swagger.yaml 下载https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.43/swagger-codegen-cli-2.4.43.jar生成调用代码 swagger-codegen-cli是用java写的, 但是支持生成多种语言的调用代码,…

网鼎杯

个人只做了一道web一道crypto Web02 打开赛题环境地址,是登录界面,进去后获取hash值用户名或密码随意我们访问到的flag界面 ** **进去后这里有个输入框测试下可以进行xss又根据/flag提示需要boss来访问这个路径,编写脚本构造payload进行访问,字符串编码下 import requests …

BuildCTF

主要做web方向,misc和crypto有几题也看了一下 Web ez!httpez_md5这里的<font style="background-color:rgb(249, 242, 244);">$_REQUEST</font>变量获得GET或POST的参数,值的注意的是,如果通过不同的方式获得相同变量的不同值,**<font style=&quo…

10.30 模拟赛

复盘 T1。好像很好做。先想了一个 \(\mathcal O(n |c_{i,j}|^2)\) 但是带四倍常数的做法。感觉加上一些优化和卡常后问题不大。于是开写。 代码好长!!!调试好久!!! 调完后样例 6 跑 20s,最终优化后还是 7s。实在优化不了了于是考虑换做法。 发现枚举三条边后,剩下的用类…