type
status
date
slug
summary
tags
category
icon
password
点击 Download 后,需要校验验证码,验证码类型是纯数字的,比较好识别,并且发现请求中出现了Cloudflare相关的cookie。
一.网络请求分析
1.获取pdf下载地址
通过此请求可以获取到用于下载 PDF 的相关参数,注意网站使用了 Cloudflare,所以需要用
curl_cffi
发送请求。并且使用 Session
对象来维持会话状态,以确保请求的连续性。key | value |
URL | https://worldwide.espacenet.com/data/publicationDetails/originalDocument?CC=US&NR=D1035009S&KC=S&FT=D&ND=3&date=20240709&DB=&locale=en_EP&rnd=1721718436431 |
Method | GET |
2.获取验证码
通过传入pdf下载地址相关参数,两次请求通过cookie进行关联。
第一步:获取cookie
key | value |
URL | https://worldwide.espacenet.com/captchaChallengeController?original_requestUrl=%2Fdata%2FespacenetDocument.pdf&original_request_method=GET&original_request_parameters=CC__US%3B%3Bdate__20240709%3B%3BNR__D1035009S%3B%3Bflavour__trueFull%3B%3Blocale__en_EP%3B%3BFT__D%3B%3Bpopup__true%3B%3BND__4%3B%3BKC__S&DATA_FEED_REQUEST_HOST=&DATA_FEED_REQUEST_EXTRA_PARAMETERS= |
Method | GET |
参数分析
key | value | ㅤ |
original_requestUrl | /data/espacenetDocument.pdf | pdf地址 |
original_request_method | GET | ㅤ |
original_request_parameters | CC__US;;date__20240709;;NR__D1035009S;;flavour__trueFull;;locale__en_EP;;FT__D;;popup__true;;ND__4;;KC__S | ㅤ |
DATA_FEED_REQUEST_HOST | ㅤ | ㅤ |
DATA_FEED_REQUEST_EXTRA_PARAMETERS | ㅤ | ㅤ |
第二步:获取验证码图片
key | value |
URL | https://worldwide.espacenet.com/captchaChallengeGenerator?rnd=0
|
Method | GET |
3.下载pdf文件
提交正确的验证码后,通过 302 Redirect 自动下载文件。
key | value |
URL | https://worldwide.espacenet.com/captchaChallengeController/verify
|
Method | POST |
Form Data | response: 395016 |
二.代码实现
📎 知识星球
加入星球,获取更多知识~
- 作者:404False
- 链接:https://blog.404nofoundx.top//article/84cd7e34-cfdb-436a-9935-96f895e7747c
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。