新浪http访问行情的接口,还能用么?

http://hq.sinajs.cn/list=sh000001

如上这个链接,昨天还好好的,今早反显一串字符
"Kinsoku jikou desu!" 这啥意思?
发表时间 2022-01-21 08:35     最后修改时间 2022-01-21 08:35

赞同来自: 嫂子真好玩 念千股 shenzuiwen

0

嫂子真好玩

赞同来自:

非常感谢各位大佬的方法!!!感谢感谢!!
2022-02-15 11:09 引用
1

老好a人

赞同来自: 趋势交易者

请求报文分为四部分
请求行
请求头
空行
请求数据
以下是举例:
GET /list=%s HTTP/1.0\r\n 请求行
Host: 112.90.6.21\r\n 请求头
Connection: keep-alive\r\n 请求头
sec-ch-ua-platform: Windows\r\n 请求头
Referer: ???vip.stock.finance.sina.com.cn/\r\n 请求头
\r\n 空行
新浪你好:\r\n 请求数据
%s可以换成股票代码 s_sz002157,s_sz002986,s_sz002151
2022-01-28 16:00 引用
0

happysky

赞同来自:

@老好a人
不会呀,请求时间设置长一点。再暂停50毫秒
请问怎么设置呢,我下面这个代码在最后一句发现经常取到值是空的,十次有两三次取不到值
With CreateObject("WinHttp.WinHttpRequest.5.1")
.Open "GET", URL, False
.setRequestHeader "Referer", "http://finance.sina.com.cn"
.Send
sTemp = .responseText
End With

splits = Split(sTemp, ";")
For jj = 1 To maxCountPer
ii = kk * maxCountPer + jj + 1
If ii <= rowCount Then

mystr = splits(jj - 1)
ss = InStr(mystr, ",")
If ss > 1 Then
startindex = InStr(1, mystr, """")
endindex = InStrRev(mystr, """")
substr = Mid(mystr, startindex + 1, endindex - 1)
valuearray = Split(substr, ",")

begin = Asc("B")
J = 0
sheet.Range(Chr(begin + J) & ii).Value = valuearray(0) 'Ãû³Æ
J = J + 1
If valuearray(3) = 0 Then
2022-01-27 13:58 引用
0

老好a人

赞同来自:

不会呀,请求时间设置长一点。再暂停50毫秒
2022-01-27 11:57 引用
0

happysky

赞同来自:

加了refer之后,开始还好用,现在是取几次只有一次是成功的,返回的值不对
恐怕得要换个接口了?
2022-01-25 16:14 引用
1

zhangstar

赞同来自: asd555asd

var hq_str_sh600000?COLLCC=5539871833&="";
现在接口又升级了?会出现取到空值了
2022-01-24 21:40 引用
7

mfstar

赞同来自: 趋势交易者 mainidea youyong 睡哥1 zhuzi51 念千股 流沙少帅更多 »

顺便怕死的(比如我)可以把新浪腾讯网易三个接口都做了,出问题能实时热备切换

http://qt.gtimg.cn/q=sh600000
http://api.money.126.net/data/feed/0600000

具体用法度娘都有
2022-01-24 10:15 引用
0

mfstar

赞同来自:

多谢各位大佬指点,附上c#代码

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://hq.sinajs.cn/list=sh600000";);
request.Referer = "http://vip.stock.finance.sina.com.cn/"; // 多加这句,其他和原来一样
StreamReader streamReader = new StreamReader(((HttpWebResponse)request.GetResponse()).GetResponseStream(), Encoding.Default);
2022-01-24 10:08修改 引用
0

saul2020

赞同来自:

业余python玩家,用的req_one = urllib.request.Request(url)
请求头这样写
req_one.add_header('User-Agent', 'Mozilla/6.0')
req_one.add_header('Referer', 'http://vip.stock.finance.sina.com.cn/')

参考https://app.jisilu.cn/question/449479

2022-01-23 11:12 引用
0

可调用的韭菜

赞同来自:

C# 搞定
2022-01-22 14:18 引用
1

youyong

赞同来自: whfxjc

Excel vba代码:
Function GetHttp(Url)
Dim xmlobject
On Error Resume Next
Set xmlobject = CreateObject("WinHttp.WinHttpRequest.5.1")
xmlobject.Open "GET", Url, False
xmlobject.setRequestHeader "Referer", "http://vip.stock.finance.sina.com.cn/"
xmlobject.send
GetHttp = xmlobject.ResponseBody
GetHttp = BytesToBstr(GetHttp, "GB2312")
Set objXML = Nothing
On Error GoTo 0
End Function
2022-01-22 12:55 引用
1

luxuefeng

赞同来自: 酱油面

php 中 添加
curl_setopt($ch, CURLOPT_REFERER,"http://vip.stock.finance.sina.com.cn/";);
成功了!
2022-01-22 10:15 引用
0

专业可转债

赞同来自:

http://hq.sinajs.cn/list=sh000001
这个代码如何改?
2022-01-21 18:54 引用
0

Reims

赞同来自:

请问各位大神 "http://hq.sinajs.cn/list=sz000001" 把 Referer 加在哪里?
2022-01-21 17:44 引用
0

老好a人

赞同来自:

我也可以用了,谢谢各位大神。还有没搞明白的没得。就是在请求头哪里,多家一项

strcat(buf,"Referer: 加网址\r\n");
C++语言就可以了
send(socket,buf,strlen(buf),0);
2022-01-21 16:10 引用
0

zj2117719

赞同来自:

@漫步可转债
显示股票价格还是之前原来的 getstock=(sh'')吗
直接用GetHttp("http://hq.sinajs.cn/list=sh******")就行
2022-01-21 14:20 引用
2

hzy7413

赞同来自: wangjiajie 流沙少帅

"Referer":"http://vip.stock.finance.sina.com.cn/",

用爬虫的在headers参数里加上面这一行就解决了,如图示:
2022-01-21 12:56 引用
0

星马豪

赞同来自:

昨晚就不能用了 吐血
2022-01-21 11:48 引用
0

流沙少帅

赞同来自:

@Leo3155
增加Header:
Referer: http://vip.stock.finance.sina.com.cn/
'获取新浪股票行情数据,放入sTemp变量
With CreateObject("WinHttp.WinHttpRequest.5.1")
.Open "GET", URL, False
.setRequestHeader "Re...
感谢大神,按照您的代码改好了.
2022-01-21 11:03 引用
0

漫步可转债

赞同来自:

@zj2117719
Function GetHttp(Url)
' Dim objXML
' On Error Resume Next
' Set objXML = CreateObject("Microsoft.XMLHTTP")
' With objXML
' .Open "Get", Url, False, "", ""
' .Send
' Ge...
显示股票价格还是之前原来的 getstock=(sh'')吗
2022-01-21 11:02 引用
0

ptly

赞同来自:

With CreateObject("WinHttp.WinHttpRequest.5.1")
.Open "GET", Url, False, "", ""
.setRequestHeader "Referer", "http://finance.sina.com.cn"
.Send
sTemp = .responseText
End With
2022-01-21 11:00 引用
0

glmars

赞同来自:

么么一下多了这么多楼!
2022-01-21 10:48 引用
0

glmars

赞同来自:

多了个refererc参数?请教下该如何设置
2022-01-21 10:47 引用
3

tang618

赞同来自: asd555asd hzy7413 流沙少帅

python:
headers = {
"Accept-Encoding": "gzip, deflate, sdch",
"Referer":"http://vip.stock.finance.sina.com.cn/",
"User-Agent": (
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 "
"(KHTML, like Gecko) Chrome/54.0.2840.100 "
"Safari/537.36"
),
}
2022-01-21 10:44 引用
0

alien1978

赞同来自:

@Leo3155
增加Header:
Referer: http://vip.stock.finance.sina.com.cn/
'获取新浪股票行情数据,放入sTemp变量
With CreateObject("WinHttp.WinHttpRequest.5.1")
.Open "GET", URL, False
.setRequestHeader "Re...
好使了,谢谢
2022-01-21 10:42 引用
0

天猫

赞同来自:

我按照 土豆东 给的VB代码修改成功了
2022-01-21 10:41 引用
0

fayland

赞同来自:

@勾一勾
简单,我改用腾讯接口,早上已完工,,
腾讯接口是哪个哈
2022-01-21 10:38 引用
4

zj2117719

赞同来自: 和讯 hzy7413 余小小 流沙少帅

Function GetHttp(Url)
' Dim objXML
' On Error Resume Next
' Set objXML = CreateObject("Microsoft.XMLHTTP")
' With objXML
' .Open "Get", Url, False, "", ""
' .Send
' GetHttp = .ResponseBody
' End With
' GetHttp = BytesToBstr(GetHttp, "GB2312")
' Set objXML = Nothing
' On Error GoTo 0

'------------------------------------------------------------
Dim xmlobject
On Error Resume Next
Set xmlobject = CreateObject("WinHttp.WinHttpRequest.5.1")
xmlobject.Open "GET", Url, False
xmlobject.setRequestHeader "Referer", "finance.sina.com.cn"
xmlobject.send
GetHttp = xmlobject.ResponseBody
GetHttp = BytesToBstr(GetHttp, "GB2312")
Set objXML = Nothing
On Error GoTo 0

'------------------------------------------------------------

End Function
注解的是原先的模块,适用于excel VBA 感谢@deityz
2022-01-21 10:34 引用
0

acakedut

赞同来自:

xmlhttp不支持加referer 换其他的吧
2022-01-21 10:27 引用
2

伽南

赞同来自: acakedut 路履薄冰

@comepu
Set HttpReq = CreateObject("MSXML2.XMLHTTP.3.0")
HttpReq.Open "get", uri, False
HttpReq.setRequestHeader "Accept", "*/*"
HttpReq.setRequestHeader "Accept -Encoding", "gzip , deflate"
...
改用winhttp
2022-01-21 10:22 引用
11

Leo3155

赞同来自: saul2020 shenzuiwen lianyx2000 牛肉干 hzy7413 pqfund w狼图腾w 悠阳 nhzxcsc 流沙少帅 alien1978更多 »

增加Header:
Referer: http://vip.stock.finance.sina.com.cn/

'获取新浪股票行情数据,放入sTemp变量
With CreateObject("WinHttp.WinHttpRequest.5.1")
.Open "GET", URL, False
.setRequestHeader "Referer", "http://vip.stock.finance.sina.com.cn/"
.Send
sTemp = .responseText
End With

splits = Split(sTemp, ";")
2022-01-21 10:22 引用
0

acakedut

赞同来自:

.setreqestheader "referer" "实际新浪网址"
2022-01-21 10:20 引用
0

路履薄冰

赞同来自:

挂了
2022-01-21 10:12 引用
0

漫步可转债

赞同来自:

@学石油的程序员
试了下加referer就好了 我看网页上这个接口能用
请问加在哪里呢
2022-01-21 10:07 引用
0

sbwd

赞同来自:

要怎样解决此问题? @学石油的程序员
2022-01-21 10:02 引用
0

piupiupiu

赞同来自:

jisilu的期权不能用了吗?
2022-01-21 10:02 引用
0

sbwd

赞同来自:

要怎样解决此问题? @ken666
2022-01-21 10:01 引用
0

happysky

赞同来自:

同求问,应该怎么改
'取新浪行情
With CreateObject("Microsoft.XMLHTTP")
.Open "GET", URL, False
.Send
sTemp = .responseText
End With

splits = Split(sTemp, ";")
For jj = 1 To maxCountPer
ii = kk * maxCountPer + jj + 1
If ii <= rowCount Then

mystr = splits(jj - 1)

下面这个mystr就变成了"Kinsoku jikou desu!" ,不再是原来的行情字符串
2022-01-21 10:01 引用
0

ttttower

赞同来自:

为什么24个回复只有不到10条?
2022-01-21 09:59 引用
0

comepu

赞同来自:

XMLHTTP不支持referer,晕死,还得换接口,这下子工作量大了
2022-01-21 09:56 引用
0

fayland

赞同来自:

额, $.getScript 怎么加 referer
2022-01-21 09:56 引用
0

hardyfarmer

赞同来自:

@学石油的程序员
试了下加referer就好了 我看网页上这个接口能用
能否详细说说具体怎么操作?谢谢!
2022-01-21 09:55 引用
0

e老实和尚 - 转债、期权、股指

赞同来自:

@学石油的程序员
试了下加referer就好了 我看网页上这个接口能用
请问怎么加
2022-01-21 09:55 引用
0

johnscn

赞同来自:

@学石油的程序员
试了下加referer就好了 我看网页上这个接口能用
请问怎么增加?
2022-01-21 09:54 引用
0

云潇123

赞同来自:

@学石油的程序员
试了下加referer就好了 我看网页上这个接口能用
如何加?
2022-01-21 09:52 引用
0

comepu

赞同来自:

Set HttpReq = CreateObject("MSXML2.XMLHTTP.3.0")
HttpReq.Open "get", uri, False
HttpReq.setRequestHeader "Accept", "*/*"
HttpReq.setRequestHeader "Accept -Encoding", "gzip , deflate"
HttpReq.setRequestHeader "Accept -Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"
HttpReq.setRequestHeader "Connection", "keep -alive"
HttpReq.setRequestHeader "Host", "hq.sinajs.cn"
HttpReq.setRequestHeader "Referer", "http://finance.sina.com.cn/realstock/company/sh000001/nc.shtml"
HttpReq.setRequestHeader "User -Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:96.0) Gecko/20100101 Firefox/96.0"
HttpReq.Send
mystr = HttpReq.responseText

这样不行啊
2022-01-21 09:44 引用
0

comepu

赞同来自:

@学石油的程序员
试了下加referer就好了 我看网页上这个接口能用
我加了referer怎么还不行呢?能贴一段代码参考一下吗
2022-01-21 09:43 引用
0

mainidea

赞同来自:

@学石油的程序员
试了下加referer就好了 我看网页上这个接口能用
具体格式是怎样,可以写出来吗
2022-01-21 09:38 引用
0

brutwater

赞同来自:

@ken666
多了个参数,接口还是没改.小问题
请问多了什么参数?
2022-01-21 09:24 引用
0

强庄

赞同来自:

为什么选在这个时间升级
2022-01-21 09:22 引用
3

scott

赞同来自: 趋势交易者 强庄

Kinsoku jikou desu!
坑死哥 忌口 打死呕!
2022-01-21 09:19 引用
0

hello123

赞同来自:

果然不能用了,得找个备份了
2022-01-21 09:19 引用
0

uuu131

赞同来自:

@学石油的程序员
试了下加referer就好了 我看网页上这个接口能用
怎样做
2022-01-21 09:18 引用
0

uuu131

赞同来自:

@ken666
多了个参数,接口还是没改.小问题
怎样改
2022-01-21 09:17 引用
0

沙丁2012

赞同来自:

如何修改,大神们
2022-01-21 09:15 引用
0

hzy7413

赞同来自:

@学石油的程序员
试了下加referer就好了 我看网页上这个接口能用
请问怎么加呀,速求,1金币答谢
2022-01-21 09:15 引用
4

学石油的程序员

赞同来自: saul2020 流沙少帅 生身盛世诗书史 sleepingworm

试了下加referer就好了 我看网页上这个接口能用
2022-01-21 09:11 引用
2

ken666

赞同来自: 流沙少帅 生身盛世诗书史

多了个参数,接口还是没改.小问题
2022-01-21 09:08 引用
1

wangjiajie

赞同来自:

惨, 一堆依赖接口的模块全完了
2022-01-21 08:56 引用
0

kenwhale

赞同来自:

看起来好像日文
2022-01-21 08:53 引用
0

景鸿资本

赞同来自:

禁則事項です。

日语,这个接口八成是要封了
2022-01-21 08:53修改 引用
0

趋势交易者

赞同来自:

唉,估计升级了!!!
2022-01-21 08:50修改 引用
0

Campanella

赞同来自:

禁則事項です
2022-01-21 08:42 引用

要回复问题请先登录注册

发起人

问题状态

  • 最新活动: 2022-02-15 11:09
  • 浏览: 23902
  • 关注: 68