过去,是通过这样的方式。
http://hq.sinajs.cn/list=sz000002,比如这个可以获取万块的数据组。
现在好像不灵了,但网友们说腾讯可以。
鉴于我低下的编程水平,还是请教到具体的访问方式为好。
哈哈
http://hq.sinajs.cn/list=sz000002,比如这个可以获取万块的数据组。
现在好像不灵了,但网友们说腾讯可以。
鉴于我低下的编程水平,还是请教到具体的访问方式为好。
哈哈
0
@jiangdaya
@景阳的幸福生活 非常感谢,测试了一下,成功,那么我还是接着用这个丑陋的表格,毕竟是自己七拼八凑的东东,有感情。多谢楼主金币,楼主学半个月能搞出自己的自动交易软件出来才是厉害。我是吃这行饭的,楼主遇到程序问题,可以留言,我会尽量解决。
所谓的行家,就是随手一点,就能说出关键,而对于模仿者,因为是模仿,其中真意很难明白,
当稍稍变化之际,模仿者就挂了。
投资何尝不是如此?
哈哈
1
赞同来自: 家飛Looper
帮楼主看了下
在HttpGet httpGet = new HttpGet(dre);下面
加上这一行代码就可以了
httpGet.addHeader("Referer", "http://finance.sina.com.cn/");
在HttpGet httpGet = new HttpGet(dre);下面
加上这一行代码就可以了
httpGet.addHeader("Referer", "http://finance.sina.com.cn/");
3
不怕被笑话,我之所以说运气好,是因为百度回来的东西,直接能用,那些技术文档,是超出我能力的,如同小学生不小心拿着一个现成的仪器,刚好完成了一个工程。
下面是过去的代码,是我从网上搜到的,然后自己加了一段分解数据,这个不难,懂点数组就行。
那位达人,觉得前面这段代码还能修补一下,请直接用代码赐教!
// 用HttpClient发送请求,分为五步
// 第一步:创建HttpClient对象
HttpClient httpCient = new DefaultHttpClient();
// 第二步:创建代表请求的对象,参数是访问的服务器地址
// HttpGet httpGet = new HttpGet(dre);
// 增加健壮性
try {
Thread.sleep(1000);
String dre;
dre = "http://hq.sinajs.cn/list=sh600085,sz000002
HttpGet httpGet = new HttpGet(dre);
// alert();
// 第三步:执行请求,获取服务器发还的相应对象
HttpResponse httpResponse = httpCient.execute(httpGet);
// 第四步:检查相应的状态是否正常:检查状态码的值是200表示正常
if (httpResponse.getStatusLine().getStatusCode() == 200) {
System.out.println("网页访问正常");
// 第五步:从相应对象当中取出数据,放到entity当中
HttpEntity entity = httpResponse.getEntity();
String response = EntityUtils.toString(entity, "utf-8");// 将entity当中的数据转换为字符串
// System.out.println(response);
// 分解取回的信息,将股票的买1的量价,与股票卖1的量价存入数组
// String[][] stock_price = new String[2][];
String arrays[] = response.split(";");
String[][] stock_price = new String[arrays.length][33];
for (int i = 0; i < arrays.length; i++) {
String arrays2[] = arrays[i].split(",");
for (int j = 0; j < arrays2.length; j++) {
// System.out.print(arrays2[j]+"\t");
stock_price[i][j] = arrays2[j];
}
}
for (int i = 0; i < stock_price.length - 1; i++) {
System.out.print(stock_price[i][0] + "\t" + stock_price[i][10] + "\t" + stock_price[i][11]
+ "\t" + stock_price[i][20] + "\t" + stock_price[i][21]);
}
System.out.println("取数结束");
此代码,读取了同仁堂和万科的数据,并提取了我要的2个价格,买一和卖1,那么如何在第一部分加点代码抢救一下?
哈哈
下面是过去的代码,是我从网上搜到的,然后自己加了一段分解数据,这个不难,懂点数组就行。
那位达人,觉得前面这段代码还能修补一下,请直接用代码赐教!
// 用HttpClient发送请求,分为五步
// 第一步:创建HttpClient对象
HttpClient httpCient = new DefaultHttpClient();
// 第二步:创建代表请求的对象,参数是访问的服务器地址
// HttpGet httpGet = new HttpGet(dre);
// 增加健壮性
try {
Thread.sleep(1000);
String dre;
dre = "http://hq.sinajs.cn/list=sh600085,sz000002
HttpGet httpGet = new HttpGet(dre);
// alert();
// 第三步:执行请求,获取服务器发还的相应对象
HttpResponse httpResponse = httpCient.execute(httpGet);
// 第四步:检查相应的状态是否正常:检查状态码的值是200表示正常
if (httpResponse.getStatusLine().getStatusCode() == 200) {
System.out.println("网页访问正常");
// 第五步:从相应对象当中取出数据,放到entity当中
HttpEntity entity = httpResponse.getEntity();
String response = EntityUtils.toString(entity, "utf-8");// 将entity当中的数据转换为字符串
// System.out.println(response);
// 分解取回的信息,将股票的买1的量价,与股票卖1的量价存入数组
// String[][] stock_price = new String[2][];
String arrays[] = response.split(";");
String[][] stock_price = new String[arrays.length][33];
for (int i = 0; i < arrays.length; i++) {
String arrays2[] = arrays[i].split(",");
for (int j = 0; j < arrays2.length; j++) {
// System.out.print(arrays2[j]+"\t");
stock_price[i][j] = arrays2[j];
}
}
for (int i = 0; i < stock_price.length - 1; i++) {
System.out.print(stock_price[i][0] + "\t" + stock_price[i][10] + "\t" + stock_price[i][11]
+ "\t" + stock_price[i][20] + "\t" + stock_price[i][21]);
}
System.out.println("取数结束");
此代码,读取了同仁堂和万科的数据,并提取了我要的2个价格,买一和卖1,那么如何在第一部分加点代码抢救一下?
哈哈
0
既然你会java编程,那就添加一个referer就好了。可以参考这个:
https://www.jisilu.cn/question/449496
https://www.baeldung.com/java-http-request
https://www.jisilu.cn/question/449496
https://www.baeldung.com/java-http-request
5. Setting Request Headers
Adding headers to a request can be achieved by using the setRequestProperty() method:
con.setRequestProperty("Content-Type", "application/json");
To read the value of a header from a connection, we can use the getHeaderField() method:
String contentType = con.getHeaderField("Content-Type");
1
赞同来自: keaven
感谢@桔子哥哥 。
很久以前,我学会了JAVA,利于新浪行情,做出史上最烂自动交易软件。
因为我就学了半个月JAVA,就做这个交易软件了,运气好,居然让我做成了。
后来进而做了期权的自动交易,后来华泰不允许模拟鼠标键盘交易,就不用了,但是也积累了一堆教训,是教训,亏了不少钱。
后来用了券商的自动交易软件,感觉比我自己的强100倍,虽然期权还自己做了一个史上最简易表格,显示合成多头和空头的折溢价,但貌似随着新浪的改革,终究成为过去了。
如果你是年轻人,我还是建议你学习一下语言,很多事情,完全可以用电脑替代的,如果不年轻了,求教年轻人则更为便利。
随着新浪的改编,我的自制自动交易,终于翻篇了。
哈哈
很久以前,我学会了JAVA,利于新浪行情,做出史上最烂自动交易软件。
因为我就学了半个月JAVA,就做这个交易软件了,运气好,居然让我做成了。
后来进而做了期权的自动交易,后来华泰不允许模拟鼠标键盘交易,就不用了,但是也积累了一堆教训,是教训,亏了不少钱。
后来用了券商的自动交易软件,感觉比我自己的强100倍,虽然期权还自己做了一个史上最简易表格,显示合成多头和空头的折溢价,但貌似随着新浪的改革,终究成为过去了。
如果你是年轻人,我还是建议你学习一下语言,很多事情,完全可以用电脑替代的,如果不年轻了,求教年轻人则更为便利。
随着新浪的改编,我的自制自动交易,终于翻篇了。
哈哈