声明:
本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
部分python代码
def get_headers_via_subprocess(token): """ 通过 subprocess 调用 Node.js 脚本获取 headers """ try: # 运行 Node.js 脚本 result = subprocess.run( ['node', 'run.js', token], capture_output=True, text=True, timeout=30 # 设置超时 ) # 检查执行结果 if result.returncode == 0: # 解析 JSON 输出 output = json.loads(result.stdout.strip()) return output['result'] else: print(f"Error: {result.stderr}") return None except subprocess.TimeoutExpired: print("Subprocess execution timed out") return None except Exception as e: print(f"Failed to execute subprocess: {e}") return None solution = get_headers_via_subprocess(token) print(solution) status_code = self._submit_solution(url, token, solution)base_url = url.rstrip('/') self.session.headers.update({ 'accept': '*/*', 'connection': 'keep-alive', 'origin': base_url, 'referer': f'{base_url}/.well-known/vercel/security/static/challenge.v2.min.js', 'sec-fetch-dest': 'empty', 'sec-fetch-mode': 'cors', 'sec-fetch-site': 'same-origin', 'x-vercel-challenge-solution': solution, 'x-vercel-challenge-token': token, 'x-vercel-challenge-version': '2', }) response = self.session.post(f'{base_url}/.well-known/vercel/security/request-challenge') return response.status_code结果
![]()
总结
![]()