急急!!JAVA读取一个URL页面内容报500

北渔。 2013-06-27 05:09:14
我的代码如下:
package com.yysoft.stock.price;



import java.io.BufferedInputStream;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;

public class GetDataByURL {
public static String cc(String leibie, String num) {
StringBuffer temp = new StringBuffer();
try {
System.out.println(leibie);
System.out.println(num);
String url = "http://qt.gtimg.cn/q=sh600036";
HttpURLConnection uc = (HttpURLConnection)new URL(url).
openConnection();
uc.setConnectTimeout(10000);
uc.setDoOutput(true);
uc.setRequestMethod("GET");
uc.setUseCaches(false);
DataOutputStream out = new DataOutputStream(uc.getOutputStream());

// 要传的参数
String s = URLEncoder.encode("ra", "GB2312") + "=" +
URLEncoder.encode(leibie, "GB2312");
s += "&" + URLEncoder.encode("keyword", "GB2312") + "=" +
URLEncoder.encode(num, "GB2312");
// DataOutputStream.writeBytes将字符串中的16位的unicode字符以8位的字符形式写道流里面
out.writeBytes(s);
out.flush();
out.close();
InputStream in = new BufferedInputStream(uc.getInputStream());
Reader rd = new InputStreamReader(in, "Gb2312");
int c = 0;
while ((c = rd.read()) != -1) {
temp.append((char) c);
}
System.out.println(temp.toString());
in.close();

} catch (Exception e) {
e.printStackTrace();
}
return temp.toString();
}

public static void main(String[] a){
GetDataByURL.cc("1","吉H");
}

}


现在的问题是,上面的的URL会报错:
java.io.IOException: Server returned HTTP response code: 500 for URL: http://qt.gtimg.cn/q=sh601989
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1436)
at com.yysoft.stock.price.GetDataByURL.cc(GetDataByURL.java:38)
at com.yysoft.stock.price.GetDataByURL.main(GetDataByURL.java:54)

而如果换别的URL,像http://www.hao123.com/ 或其它新浪的都没有问题,可以正常打印出页面内容,但是我想用如代码中的URLhttp://qt.gtimg.cn/q=sh601989就出错了,这个是腾讯的股票数据采集接口,我想采集它的数据,请问下大家我怎么解决这个问题啊
...全文
1836 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
默__ 2013-06-28
  • 打赏
  • 举报
回复
error 500 是找不到网页。 应该是链接地址错误。 文件名打错了,或者不支持javascript跳转。
Rooter 2013-06-28
  • 打赏
  • 举报
回复
用浏览器打开也是404啊
北渔。 2013-06-27
  • 打赏
  • 举报
回复
引用 3 楼 lu8000 的回复:
[quote=引用 2 楼 zhddd 的回复:] 我用你的程序可以跑啊,没问题啊,500是提供服务的那边出现问题了吧
不会吧,我下午跑了好多次都是报错,但是用浏览器都是可以正常访问的,就是用这开发工具上运行时报错了,网上也查不到解决方法和原因,你是没有修改代码吧,你是什么系统或环境下运行的[/quote]也不对,你发现在了没有,你运行后得到的代码报404,而且是空白内容,你用浏览器打开看一下,会有几十个数据的
北渔。 2013-06-27
  • 打赏
  • 举报
回复
引用 1 楼 lk198186 的回复:
服务端出错,不是你程序的原因
浏览器可以正常访问的,是不是屏蔽用JAVA访问?
北渔。 2013-06-27
  • 打赏
  • 举报
回复
引用 2 楼 zhddd 的回复:
我用你的程序可以跑啊,没问题啊,500是提供服务的那边出现问题了吧
不会吧,我下午跑了好多次都是报错,但是用浏览器都是可以正常访问的,就是用这开发工具上运行时报错了,网上也查不到解决方法和原因,你是没有修改代码吧,你是什么系统或环境下运行的
Rooter 2013-06-27
  • 打赏
  • 举报
回复

我用你的程序可以跑啊,没问题啊,500是提供服务的那边出现问题了吧
lk198186 2013-06-27
  • 打赏
  • 举报
回复
服务端出错,不是你程序的原因

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧