【高分求助】如何用他方提供的api来获取数据

kk236235668 2013-05-07 05:15:56
如题,如下是他方提供的资料,看完之后还是不会用
不知道该怎么请求,是应该在jsp还是java中

API 参考手册
通用说明
API总是形如

http://api.shishijia.com/<version>/products.<format>/?page=<page>&rows=<rows>&apikey=<apikey>
以下说明在每个 API 请求中都需要包含的参数

参数 是否必须 意义 说明
version 是 API版本,目前版本只有v1
apikey 是 API Key 为防止API被恶意使用,时时价要求API请求附加API KEY, API Key的申请请参考本页相关章节
format 否 返回值格式,默认为js 目前只支持json格式
page 否 返回多个元素时,页数 页数只支持数字,如果留空则返回第一页
rows 否 返回多个元素时,每页显示的数量 最大值为30
返回状态说明
时时价 API 通过HTTP Status Code来说明 API 请求是否成功,Status Code与W3C HTTP1.1规范保持一致。下面列举了可能的返回状态及其意义:
状态码 意义
200 OK 请求成功
201 CREATED 创建成功
202 ACCEPTED 更新成功
204 NO CONTENT 请求成功但是没有找到对应的数据
400 BAD REQUEST 请求中包含错误的参数
401 UNAUTHORIZED 未授权
403 FORBIDDEN 被禁止访问
404 NOT FOUND 请求的资源不存在
500 INTERNAL SERVER ERROR 内部错误
B2C商城
时时价目前支持如下商城:
商城名称 storeKey URL
京东商城 jingdong http://www.360buy.com/
卓越亚马逊 amazon http://www.amazon.cn/
易迅 icson http://www.icson.com/
storeKey会用于API的URL搜索查询

目录
获得目录列表
GET http://api.shishijia.com/v1/departments
返回结果是一个数据集合,以数组形式出现,包括所有的产品目录:

[
{
"id": "11",
"departmentKey": "mobile",
"title": "手机通讯",
"parentId": null
},
{
"id": "29",
"departmentKey": "e-book",
"title": "电子书",
"parentId": "12"
},
]
返回值说明
名称 意义 备注
id 目录的ID
departmentKey 目录的Key值
title 目录的名称
parentId 目录的上级目录ID 如有没有上级目录则为null


获得单个目录信息
GET http://api.shishijia.com/v1/department/<departmentKey>
返回结果是一个对象出现,包括产品目录信息:

{
"id": "45",
"departmentKey": "tablets",
"title": "平板电脑",
"parentId": "14"
}
返回值说明
名称 意义 备注
id 目录的ID
departmentKey 目录的Key值
title 目录的名称
parentId 目录的上级目录ID 如有没有上级目录则为null


下面的代码报错,为什么呢。小菜表示无力,真心求好心的大牛帮我看看api给解决一下

public class test {
public static void main(String args[]) throws IOException{
String url="http://api.shishijia.com/v1/departments/?apikey=0c564e4276949a71027d4ce144ecf7c0";//此apikey有效
String fileName="d:/a.txt";
URL myURL=new URL(url);
URLConnection myConn=myURL.openConnection();
InputStream inStream=null;
FileOutputStream fs=null;
try {
inStream = myConn.getInputStream();
} catch (IOException e) {
e.printStackTrace(); //no need to tell me,i know that
}
try {
fs = new FileOutputStream( fileName);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
byte[] buffer =new byte[1024];
try {
int byteread;
int bytesum=0;
while ((byteread=inStream.read(buffer))!=-1)
{
bytesum += byteread;
System.out.println(bytesum+"byte has downloaded");
fs.write(buffer,0,byteread);
}
} catch (IOException e) {
e.printStackTrace();
}
try {
inStream.close();
fs.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
...全文
195 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
kk236235668 2013-05-07
  • 打赏
  • 举报
回复
大神快来回答一下啊,自己把帖子顶上来

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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