You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Nordnet API获取资产价格?无需Webdriver获取SHAREVILLE Cookie

Nordnet资产价格API请求无Cookie报错:获取SHAREVILLE Cookie的非Webdriver方案

问题背景

  • 目标:向https://www.nordnet.fi/api/2/instruments/price/16256554发送GET请求,获取资产ID为16256554的价格数据
  • 预期返回数据:
    ask: 776.5
    ask_volume: 387142
    bid: 776.5
    bid_volume: 385982
    close: 770
    delay: 0
    high: 784
    instrument_id: 16256554
    last: 776.5
    last_volume: 4863
    lot_size: 1
    low: 772.3
    open: 778.7
    tick_timestamp: 1660576800019
    trade_timestamp: 1660576800018
    turnover: 959405065.4
    turnover_volume: 1234170
    vwap: 777.4
    
  • 实际返回错误:
    {"code": "NEXT_INVALID_SESSION"}
    
  • 排查结论:请求必须携带请求头Cookie: SHAREVILLE=0915f43e60162f92dea7f7c7813422148e7xxxxx

核心问题

如何在不使用Webdriver的前提下获取有效的SHAREVILLE Cookie?

可行解决方案

1. 用HTTP库模拟初始会话请求

SHAREVILLE Cookie是站点初始化会话时设置的基础Cookie,无需登录即可获取。以Python的requests库为例:

import requests

# 初始化会话,自动保存Cookie
session = requests.Session()
# 访问Nordnet首页触发Cookie设置,可添加User-Agent模拟浏览器
session.get("https://www.nordnet.fi/", headers={
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
})
# 提取SHAREVILLE Cookie值
shareville_cookie = session.cookies.get("SHAREVILLE")

# 直接用会话请求价格API
price_response = session.get("https://www.nordnet.fi/api/2/instruments/price/16256554")
print(price_response.text)

2. 抓包定位专门的会话初始化接口

打开浏览器开发者工具(F12)的「网络」面板,清空缓存后访问Nordnet首页,查看所有请求的响应头Set-Cookie字段,找到返回SHAREVILLE的接口(通常是站点根路径或/api/2/session类的接口),直接请求该接口即可获取Cookie,无需加载整个页面。

3. 用curl命令行工具获取

适合快速测试或脚本集成:

# 发起请求并将Cookie保存到本地文件
curl -c nordnet_cookies.txt https://www.nordnet.fi/ -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
# 提取SHAREVILLE Cookie值
grep SHAREVILLE nordnet_cookies.txt | awk '{print $7}'

获取到Cookie后,携带它请求价格API:

curl https://www.nordnet.fi/api/2/instruments/price/16256554 -b "SHAREVILLE=你的Cookie值"

注意事项

  • SHAREVILLE Cookie有有效期,需定期重新获取
  • 部分场景下需携带User-Agent等请求头,避免被站点识别为非浏览器请求拦截
  • 若站点有反爬机制,可能需要额外处理,但该Cookie属于基础会话标识,一般无需登录或人机验证即可获取

内容的提问来源于stack exchange,提问作者aipz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 15:24:15