优酷java贴吧_java 优酷开发平台

优酷文档写的一般 有的地址拼写错误 而且有的地方返回服务器域名,需要将其转换为ip方可使用。

普通用户基本模式就是 先通过一个优酷链接,让用户授权,获取授权文件再一步步上传。详细可以参考http://open.youku.com/docs/upload_client_chinese.html

文件上传需要注意使用httpbody传文件流 使用httpclient的 post方式 get方式body 均无法上传,返回crc校验失败,md5校验失败

校验方法如下:public staticString getMD5Str(String str) {

MessageDigest messageDigest= null;try{

messageDigest= MessageDigest.getInstance("MD5");

System.out.println(str);

messageDigest.reset();

messageDigest.update(str.getBytes("UTF-8"));

}catch(NoSuchAlgorithmException e) {

System.out.println("NoSuchAlgorithmException caught!");

System.exit(-1);

e.printStackTrace();

}catch(UnsupportedEncodingException e) {

e.printStackTrace();

}byte[] byteArray =messageDigest.digest();

StringBuffer md5StrBuff= newStringBuffer();for (int i = 0; i < byteArray.length; i++) {if (Integer.toHexString(0xFF & byteArray[i]).length() == 1)

md5StrBuff.append("0").append(Integer.toHexString(0xFF &byteArray[i]));elsemd5StrBuff.append(Integer.toHexString(0xFF &byteArray[i]));

}returnmd5StrBuff.toString();

}public static String getCrc32(byte[]b){

CRC32 crc32=newCRC32();

ByteArrayInputStream bis=newByteArrayInputStream(b);

CheckedInputStream cis=newCheckedInputStream(bis, crc32);

String crc= null;try{while (cis.read() != -1) {

}

crc=Long.toHexString(crc32.getValue()).toLowerCase();

}catch(IOException e) {//TODO Auto-generated catch block

e.printStackTrace();

}returncrc;

}

httpclient文档很多,但是使用httpbody传递的文档基本没有找到,最后没有办法使用urlconnectionpublic static String upload_slice(JSONObject json,byte[]b){

URL url;try{

url= new URL("http://"+CmdUtil.getIpByUrl(json.getString("upload_server_uri"))+"/gupload/upload_slice" +

"?upload_token="+json.getString("upload_token")+"&slice_task_id="+json.getString("slice_task_id")+"&offset="+json.getString("offset")+"&length="+json.getString("length")+"&crc="+json.getString("crc")+"&hash="+json.getString("hash")

);

URLConnection urlConnection=url.openConnection();//设置doOutput属性为true表示将使用此urlConnection写入数据

urlConnection.setDoOutput(true);//定义待写入数据的内容类型,我们设置为application/x-www-form-urlencoded类型

urlConnection.setRequestProperty("content-type", "application/x-www-form-urlencoded");//得到请求的输出流对象

BufferedOutputStream out = newBufferedOutputStream(urlConnection.getOutputStream());//把数据写入请求的Body

out.write(b);

out.flush();

out.close();//从服务器读取响应

InputStream inputStream =urlConnection.getInputStream();

String encoding=urlConnection.getContentEncoding();

String body=IOUtils.toString(inputStream, encoding);returnbody;

}catch(Exception e) {//TODO Auto-generated catch block

e.printStackTrace();

}return null;

}

以上代码有个人的编码风格,很多人用httpclient传参数,一般都会将参数封装到一个map里面,然后遍历map取参数,这里使用了json

cmdutil是通过ping获取ip地址

上传成功后会返回id,但是在个人空间中看不到视频,据说是优酷需要审核。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值