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

python最新h5st4.9.1调用源码(2025-10-25)

废话不多说,直接上源码,需要技术支持的私。

一、调用js方法:

# -*- coding: utf-8 -*-
"""
-------------------------------------------------Author: byc6352File: jdh5st.pyTime: 2024/10/25 08:03Technical Support:byc6352 or metabycf or 39848872 or t:byc01
-------------------------------------------------Change : 2024/10/25 08:03
-------------------------------------------------Desc:
"""
import json
import random
import re
import subprocess
import time
from functools import partialfrom curl_cffi import requests
from loguru import loggersubprocess.Popen = partial(subprocess.Popen, encoding="utf-8")
import execjs
import function
cookie=None
js = execjs.compile(open("./jd_h5st_encrypt.js", "r", encoding="utf-8").read())def load_cookie():global cookietry:text=function.loadfromfile("cookie.txt")cookie=function.cookies_raw_to_dic(text)##print(cookie)except Exception as e:print('do_GET:error:', e)print(e.__traceback__.tb_frame.f_globals["__file__"])  # 发生异常所在的文件print(e.__traceback__.tb_lineno)  # 发生异常所在的行数def gen_pvid():e = int(time.time() * 1000)uuid_template = "xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx"uuid = list(uuid_template)for i, char in enumerate(uuid):if char in ['x', 'y']:n = int((e + 16 * random.random()) % 16)e = e // 16if char == 'x':uuid[i] = hex(n)[2:]elif char == 'y':uuid[i] = hex((3 & n | 8) % 16)[2:]return ''.join(uuid)def get_algo(ai):fp = js.call('generateVisitKey')localTk = js.call("localTk", fp)expandParams = js.call('expandParams', ai, fp)headers = {"authority": "cactus.jd.com","accept": "application/json","content-type": "application/json","referer": "https://search.jd.com/","user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}url = "https://cactus.jd.com/request_algo"data = {"version": "4.9","fp": fp,"appId": ai,"timestamp": int(time.time() * 1000),"platform": "web","expandParams": expandParams,"fv": "h5_file_v4.9.1","localTk": localTk}data = json.dumps(data, separators=(',', ':'))response = requests.post(url, headers=headers, data=data).json()tk = response["data"]["result"]["tk"]algo = response["data"]["result"]["algo"]rd = re.findall("rd='(.*?)';", algo)[0]algo = re.findall(r"algo\.(.*?)\(", algo)[0]return fp, algo, tk, rddef get_price(sku):api_appid = 'fb5df'# fp, algo, tk, rd = get_algo(api_appid)# logger.debug(f"{api_appid} fp:{fp} algo:{algo} tk:{tk} rd:{rd}")fp = "ccsso21xkrcdsso4"algo = "MD5"tk = "tk03wb29d1c3818nbBzsTa1fMY0YpJ-a1oVdzNECsY-6qpvJOazfg8PX89fpcfliGs5xSd81_dHpGCY3wdXM8tk1GaAT"rd = "3nPfbbv0qakI"ts = str(int(time.time() * 1000))headers = {"authority": "api.m.jd.com","accept": "application/json, text/javascript, */*; q=0.01","referer": "https://item.jd.com/","user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36","x-referer-page": "https://item.jd.com/10109684762090.html","x-rp-client": "h5_1.0.0"}##if cookie!=None:## headers["cookie"]=cookiecookies = {"__jdu": "17293987875691788438336","areaId": "5","PCSYCityID": "CN_130000_130400_0","shshshfpa": "9a5434d1-55dc-0b17-afb7-517c7299dd2e-1729398790","shshshfpx": "9a5434d1-55dc-0b17-afb7-517c7299dd2e-1729398790","pinId": "aKKFIx5WU89-6cLG7RSx1LV9-x-f3wj7","pin": "jd_7d020ac3ec434","unick": "%E5%A6%96%E5%93%A5%E5%93%A56","ceshi3.com": "203","_tp": "S6HK9Ih%2B7UrKGpY9ovXQfMq0WHQ%2FwHGym2ktIj59trg%3D","_pst": "jd_7d020ac3ec434","source": "PC","platform": "pc","jcap_dvzw_fp": "lgBMB_apUig7S62c6AvSfP1hV5HL7Fu-cZvU37TRpJ64aiUg3IsxH4AuPAZpKuTrji0U7nguXGhlqgP0U0mNkg==","__jdv": "85788037%7Ciosapp%7Ct_335139774%7Cappshare%7CWxfriends_shareid101031fedc18929f26de611fe262f282c89ab92d17295286322613_shop_none%7C1729564673140","3AB9D23F7A4B3CSS": "jdd03FTRIVEJ57GI3RV367OZTPMDFSHECQZZQ752F5TAERK77C2FNCI6XCDDVZFB445VUAYU4A7ILASDV6TO5SQGW5TNQ5EAAAAMSWMNMGJYAAAAADXF3KQK6YPSOEUX","_gia_d": "1","thor": "8718533D55F74202EDC9C17A7E55808D7856B964B017DF0C1F2C996EFCAE2E9B487EA279BB9C4AF8627984349130413A310A59A68301703BAB5EEC08235787CFF620274881E0F6254EB4A4B396CFAD3F1AC43BC09558540E0B0ECE85645B9EC2E2C855B13AED1435DF7560BFF3C22D523D64EE3E9485520D9810315A939E3DC5F1A5E8209A25FA7D8BEC86554A81A5EDF1AC17418AF088F3655E7C54717A222F","light_key": "AASBKE7rOxgWQziEhC_QY6ya74pU_faxeaBQMG0ouMjvAQAf0N3WNJ56y5B2k3P51ls6dAAG","3AB9D23F7A4B3C9B": "FTRIVEJ57GI3RV367OZTPMDFSHECQZZQ752F5TAERK77C2FNCI6XCDDVZFB445VUAYU4A7ILASDV6TO5SQGW5TNQ5E","mt_xid": "V2_52007VwMUUVVaWlMZQB9YAm8DFFtUXVBTHUsebAUyV0ZbWAxVRhZBHwsZYlYRB0EIBw4bVU4MUDAKFgVbUVVSGXkaXQZiHxJTQVtRSx9NEl8HbAYVYl9oUmocSRBfAG4LFFFcUGJfHkAf","token": "ad66c84aac27a21c59e6c2814cf2ccb8,3,960878","jsavif": "1","__jda": "181111935.17293987875691788438336.1729398788.1729564610.1729581727.3","__jdb": "181111935.4.17293987875691788438336|3.1729581727","__jdc": "181111935","flash": "3_wvbkgYLTyY4F9-gCClJhlyo1Mw1QdzEbrk0lxRVQjGHxB0O1D7nYf6Y8IV02Vz6LkkRL8Q12x0YuMeVgdoadMLq4BD7dOniCaNTsUMDeUGnLsSCuvinpGoXDrM0R8i9t_bXwlNT9gDDqBmSB-6Gk3ApkTokIkmpsuDoIX7zlrxByBr8-mw32-V**","ipLoc-djd": "5-148-172-34120","shshshfpb": "BApXSFfcUsPdAoprBp5vlox1-OAvJX2z0Bmt4gL9p9xJ1MrqzCYG2"}url = "https://api.m.jd.com/"body = {"skuId": sku,"cat": "1320,2641,2642","area": "5_148_172_34120","shopId": "12207507","venderId": 12518117,"paramJson": "{\"platform2\":\"1\",\"colType\":0,\"specialAttrStr\":\"p0ppppppppppppppppppppppppp\",\"skuMarkStr\":\"00\"}","num": 1,"bbTraffic": "","canvasType": 1,"giftServiceIsSelected": ""}body = json.dumps(body, ensure_ascii=False, separators=(",", ":"))params = {"appid": "pc-item-soa","functionId": "pc_detailpage_wareBusiness","client": "pc","clientVersion": "1.0.0","t": ts,"body": body,##"x-api-eid-token": "jdd03KVN2BG6B6II3WXOWHUT4MPGOGMO3OQ5DZSTIKYF3HTHKBIBGSGGD47T45RYVHOSPZCKPB34ABDGB3YPJSTDLSRLIT4AAAAMR4V6C5XIAAAAACRGQDDWZH5LYI4X","x-api-eid-token": "jdd03TBT6WE4WMF4PHCAWA4ARALVIPT5OMQ4BQRGPDAYOB2FRF4ZFI7PNNNYGOIDXKB4SG6RDGIOP7TPKAXVQ3DQUEP25G4AAAAMSWKE3LNQAAAAACLVFJYDTNARXWQX","loginType": "3","scval": sku,"uuid": "181111935.1726113890136215874918.1726113890.1726113890.1726129121.2"}h5st = js.call("get_H5st", body, ts, params["appid"], params["functionId"], api_appid, fp, algo, tk, rd)params["h5st"] = h5stlogger.debug(f" H5st 结果:{h5st}")response = requests.get(url, headers=headers, cookies=cookie, params=params)##response = requests.get(url, headers=headers,  params=params)print(response.status_code)logger.debug(response)logger.debug(response.text)# logger.info(response.json()["price"])load_cookie()
if __name__ == "__main__":##js = execjs.compile(open("./jd_h5st_encrypt.js", "r", encoding="utf-8").read())skus = ['100055840709', '100021136758', '100032586491', '34533031087', '100058167024', '100082186087','100077587929', '100036474892', '10056013758919', '100014805124', '100009497210', '10100720343444','10079373721437', '58579400328', '10029555779444', '100043167344', '100020760933', '100113532463','10047345306664', '100042256962', '100007157415', '100006529843', '10052077917985', '100060150951','10053628602097', '1584883842', '10067842667839', '10026365639431', '10099221533185', '100052602673','10053628602097', '10085996671578', '10048614350496', '10084090773366', '569091', '100008631319','10087691476163', '100012886904', '10026365639431', '100014805100', '100062571977', '100123529044']for i, sku in enumerate(skus):logger.info(f'第============================={i}次==============================')get_price(sku)time.sleep(30)

二、效果

相关文章:

python最新h5st4.9.1调用源码(2025-10-25)

废话不多说,直接上源码,需要技术支持的私。 一、调用js方法: # -*- coding: utf-8 -*- """ -------------------------------------------------Author: byc6352File: jdh5st.pyTime: 2024/10/25 08:03Technical Support:by…...

微软投资比特币:将总资产1%投资于BTC?股东投票决定最终结果!

随着比特币及其他加密货币在全球金融市场中的影响力不断增加,科技巨头微软(Microsoft)也开始考虑是否在其资产负债表上纳入比特币。根据近期提交给美国证券交易委员会(SEC)的文件,微软将在2024年12月10日举…...

vue中标签的ref和id的用法和区别优缺点

Vue 3 中 ref 和 id 的用法详解:区别、优缺点及使用场景 在 Vue 3 开发中,我们经常需要获取 DOM 元素或组件实例来进行交互。Vue 提供了 ref 和原生 HTML 属性 id 来实现这种操作。虽然 ref 和 id 都能标识并操作元素,但它们的使用方式、优缺…...

Python基础知识-文件篇

Python 的文件操作是指与文件进行交互的各种技术和方法,包括读取、写入、关闭文件等。以下是对 Python 文件操作的详细介绍: 打开文件 要进行文件操作,首先需要打开文件。Python 提供了内置的 open() 函数。 file open(example.txt, r) …...

MacOS 环境下 VSCode 的 C++ 环境搭建

MacOS 环境下 VSCode 的 C 环境搭建 编译器安装 编译器可以选择 Clang 或者 GCC,在 MacOS 上 Clang 的安装更为简单一些。 Clang(推荐) 打开终端输入命令, clang -v 查看是否已经安装。 如果已经安装,会输出类似于如下的信息&#xff1…...

WPF样式

WPF(Windows Presentation Foundation)是微软推出的一种用于构建Windows应用程序的UI框架。它提供了一套丰富的控件、图形和动画功能,允许开发者创建具有丰富视觉效果的现代用户界面。WPF中的样式(Styles)是一种强大的…...

Vue Router 如何配置 404 页面?

在 Vue 项目中,如果你想配置一个 404 页面(即找不到页面提示),你需要通过 Vue Router 来设置。这通常通过将路由配置中的 *(通配符)指向一个 404 组件来实现。 // 定义路由部分 const routes [{path: /,c…...

【C++:智能指针】

什么是内存泄漏 内存泄漏是指因为疏忽或者错误造成程序对一部分不再使用的内存没有进行释放的情况,内存释放不是指内存在物理上的消失,而是应用程序分配某段内存时,因设计错误,失去了对该内存的控制,从而造成内存浪费 …...

onlyoffice docker启用jwt并生成jwt

一、说明 本文是docker教程,linux/win的安装版本也类似,只需要修改配置文件中的secrt就可以了【Configuring JWT for ONLYOFFICE Docs - ONLYOFFICE】 二、正文开始 docker启动时候如果不想使用jwt,加上参数-e JWT_ENABLEDfalse就可以了&…...

希尔贝壳受邀参加首届“数据标注产业大会暨供需对接会”

为推动数据标注产业高质量发展,促进数据标注基地快速形成面向产业的规模化服务能力。10月22日,由国家数据局数字科技和基础设施建设司指导的首届“数据标注产业大会暨供需对接会”在北京召开,希尔贝壳受邀参加。 大会旨在进一步推动数据标注…...

35.第二阶段x86游戏实战2-C++遍历技能

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要…...

Jenkins发布vue项目,版本不一致导致build错误

问题一 yarn.lock文件的存在导致在自动化的时候,频频失败问题二 仓库下载的资源与项目资源版本不一致 本地跑好久的一个项目,现在需要部署在Jenkins上面进行自动化打包部署;想着部署后今后可以省下好多时间,遂兴高采烈地去部署&am…...

vue3使用webSocket

1.安装插件 npm i vueuse/core10.11.12.引入使用 import { useWebSocket } from "vueuse/core"const { send, open, close: wsClose, status } useWebSocket(ws://192.168.100.90:53021/inms-application/alarm, {onMessage: (ws, { data }) > {console.log(&q…...

957种卫星参数文档的分享下载

自1957年10月4日苏联发射第一颗人造卫星Sputnik-1至今已经有67年,如今卫星已经在气象、遥感和通讯等领域为我们提供服务。 现在为你分享957种卫星参数,需要Excel文档请在文未查看领取下载方式。 卫星介绍 卫星是由人类制造并发射到太空,围…...

负载均衡详解:背景、实现技术、作用范围与常用算法

负载均衡(Load Balancing)是一种通过将请求分配到多个服务器上,从而优化资源使用、提高响应速度并增强系统可靠性的一种技术手段。它是现代分布式系统和互联网应用中不可或缺的一部分。在本篇文章中,我们将深入探讨负载均衡的方方…...

CCAA:产品认证基础3(产品认证方案)

学习要点 *产品认证方案和认证制度 *产品认证方案的基本要素、功能和活动 *产品认证方案的类型 *产品认证方案的制订和实施 *质量管理体系在产品认证方案中的应用 *典型产品认证方案的应用 第一节 产品认证方案和产品认证制度 一、概念 认证制度是指实施认证的规则、程序和…...

go语言中的Scan()和Scanln()输入函数

Scan()输入函数 package mainimport "fmt"func main() {var a intvar b stringfor {fmt.Println("请输入一个整数和一个字符串(用空格分隔):")fmt.Scan(&a, &b) // 直接读取输入到变量中fmt.Println("整数…...

UML外卖系统报告(包含具体需求分析)

1 系统背景 随着互联网技术的快速发展,外卖订餐服务逐渐成为人们生活中的一部分。传统的电话订餐方式面临诸多不便和限制,而基于互联网的外卖订餐系统则提供了更加便捷、快速和高效的订餐服务。这种系统通过将餐厅、顾客和配送人员连接起来,…...

net Core Data Protection 数据保护 加密 编码 哈希 FromServices

》》》 通过构造函数 获取服务 [Route("api/[controller]")][ApiController]public class DataProtectController : ControllerBase{[HttpGet]public string Info(){return "zen";}// [FromServices] 自动获取 builder.Services.AddDataProtection()注…...

4K手机壁纸之动漫系列

因为平台限制了图片大小,大家将就看吧,原图找me...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性&#xf…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)

安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...

腾讯云V3签名

想要接入腾讯云的Api,必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口,但总是卡在签名这一步,最后放弃选择SDK,这次终于自己代码实现。 可能腾讯云翻新了接口文档,现在阅读起来,清晰了很多&…...

【网络安全】开源系统getshell漏洞挖掘

审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)

一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...