java 模拟触屏版QQ空间上传图片

模拟触屏版QQ空间上传图片问题。

第一步:上传图片。

http://up.qzone.com/cgi-bin/upload/cgi_upload_pic_v2

参数:

picture:【图片的Base64编码】
base64:1
hd_height:480【图片高度】
hd_width:320【图片宽度】
hd_quality:96【图片质量,好像只有70&96 ,数字大是高质量】
output_type:json
preupload:1
charset:utf-8
output_charset:utf-8
logintype:sid
Exif_CameraMaker:【照片exif】
Exif_CameraModel:【照片exif】
Exif_Time:【照片exif】
uin:17xxxx19【QQ号】
sid:Axxxxxxxxxxxxxxcwn【SID】

头信息:

Accept:*/*
Accept-Encoding:gzip, deflate
Accept-Language:zh-CN,zh;q=0.8
Connection:keep-alive
Content-Length:53497
Content-Type:application/x-www-form-urlencoded
Host:up.qzone.com
Origin:http://m.qzone.com
Referer:http://m.qzone.com/infocenter?g_f=2425
User-Agent:Mozilla/5.0 (iPhone; U; CPU iPhone OS 6_0_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5

返回结果:

{   "filelen" : 20319,   "filemd5" : "c8c4211055a01684b2a0bc112a674170b9c6bf323d129c4c923aa869d566e25c"}

图片Base64编码处理方法:

	public static String GetImageStr(String imgFilePath) {//
		byte[] data = null;  

		// 读取图片字节数组
		try {
			InputStream in = new FileInputStream(imgFilePath);
			data = new byte[in.available()];
			in.read(data);
			in.close();
		} catch (IOException e) {
			e.printStackTrace();
		}  

		// 对字节数组Base64编码
		BASE64Encoder encoder = new BASE64Encoder();
		return encoder.encode(data);// 返回Base64编码过的字节数组字符串
	} 

第二步:

http://up.qzone.com/cgi-bin/upload/cgi_upload_pic_v2

参数:

output_type=json
preupload=2
md5=c8c4211055a01684b2a0bc112a674170b9c6bf323d129c4c923aa869d566e25c【第一步返回结果里的filemd5】
filelen=20319【第一步返回结果里的filelen】
batchid=1425463906390000【new Date().getTime()+"000"】
currnum=0
uploadNum=1
uploadtime=1425463906【(new Date().getTime()+"").substring(0, 10)】
uploadtype=1
upload_hd=1
albumtype=7
big_style=1
op_src=15001
charset=utf-8
output_charset=utf-8
uin=1xxxx19【QQ号】
sid=AVxxxxxxxxxxxxxxcwn【SID】
logintype=sid
mobile_dc=actiontype%3D2%26subactiontype%3D1%26reserves%3D1%26page_type%3D2%26app_id%3D7003
albumid=V1XXX6【相册ID】
desc=测试测试【图片描述】
platformid=52
platformsubid=11

但是返回结果:

{      "picinfo" : {         "error" : -400      }   }

发现是图片Base64编码 处理部分出错。

不知道怎么做了。

处理图片Base64编码:

http://qzonestyle.gtimg.cn/qzone/phone/m/v4/widget/photopicker/file2/index.js

http://qzonestyle.gtimg.cn/qzone/phone/m/v4/widget/jpegEncode2.js

时间: 2024-11-08 04:56:52

java 模拟触屏版QQ空间上传图片的相关文章

淘宝网触屏版 - 学习笔记(0 - 关于dpr)

注:本文是学习笔记,并不是教程,所以会有很多我不理解或猜测的问题,也会有不尽详实之处,望见谅. 对于pc端网页设计师来说,移动端的网页制作,我之前只是简单的加了一个 <meta name="viewport" content="width=device-width initial-scale=1.0 maximum-scale=1.0 user-scalable=none"> 然后再根据实际预览效果,对一些比例或者清晰度问题进行调整,以达到最佳效果.当然

问卷调查 for Html5触屏版

什么是Html5触屏版? 采用最新HTML5技术,无需下载安装.无需下载升级,使用移动设备浏览器,就能访问自适应屏幕大小的访问界面,微信也能扫描访问. 为什么已经有PC网页版和移动端APP版还需要Html5触屏版? 首先PC网页版是基于传统PC上的浏览器使用,在移动浏览器上会出现屏幕大小伸缩,不适合在移动终端浏览器上使用. 而移动端APP版需要按照才能使用,基于Html5触屏版使用手机浏览器就能访问. Html5触屏版与传统的手机wap网页的区别? 传统的wap网页更适合之前的功能机,html5

触屏版类似刷新页面文本框获取焦点的同时弹出手机键盘的做法

手机触屏版想要自动弹出键盘要满足的三个条件: 1.文本框获取焦点 2.手触屏该页面的屏幕 3.无延迟 实现实例(类似微信微博): <!DOCTYPE html><html lang="zh-cn"><head>    <meta charset="utf-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge"&

淘宝网触屏版 - 学习笔记(1 - 关于meta)

注:本文是学习笔记,并不是教程,所以会有很多我不理解或猜测的问题,也会有不尽详实之处,望见谅. <meta charset="utf-8"> <meta content="yes" name="apple-mobile-web-app-capable"> <meta content="yes" name="apple-touch-fullscreen"> <meta

问卷调查 for 移动触屏版

什么是移动触屏版(Html5触屏.WEB APP)? 采用最新HTML5技术,无需下载安装.无需下载升级,使用移动设备浏览器,就能访问自适应屏幕大小的访问界面,微信也能扫描访问. 为什么已经有PC网页版和移动端APP版还需要移动触屏版? PC网页版是基于传统PC上的浏览器使用,在移动终端浏览器访问会出现屏幕大小伸缩,不适合在移动终端浏览器上使用. 移动端APP版需要安装才能使用,而且有升级的烦恼. 基于Html5触屏版使用PC.手机.平板电脑浏览器都能自适应屏幕去访问,体验效果近乎于APP. 移

WAP、触屏版网站及APP的区别

 1.电脑版网站: 电脑版网站是指用户通过台式或者笔记本电脑浏览器打开的网站,也就是我们平时上网所访问的网站.其支持和兼容IE6.IE7.IE8.IE9.IE10.Firefox.Chrome等各种主流浏览器,该网站通常包含一些网站应用程序及系统(如:CMS网站内容管理系统等),并包含了独立的数据库及完整的后台管理系统,是企业开展网络营销和电子商务的基础. 为了管理和维护方便,其手机WAP版网站.手机触屏版网站.手机APP应用等通常共享同一个数据库和管理后台. 2.手机WAP版网站: WAP网站

WebApp触屏版网站开发要点

所谓的触屏版网站其实也是WebApp的一种展示形式,主要是依赖HTML+CSS+Javascript这三个关键因素来实现,相比较原生客户端程序来说优点就是开发周期短.升级简单.维护成本低,因为从根本上来说WebApp的本质就是一个网站而已.这里就说一下如何开发一个适合在触屏设备上展示的页面. 如果有在PC端开发网页的基础那么去处理手机端就很容易上手,这里介绍的是针对手持设备专门处理的页面,而不是媒体查询那种展示方式. 这里提供几个meta属性 使页面不可以认为放大缩小,喜欢用手指捏来捏去的童鞋要

触屏版轻量级分页插件jqPagination分享

说到HTML5和jquery上的分页问题,优秀的分页插件网上一抓一大把,然而同时适合兼容在Ipad和手机端的网站分页却不是特别多. 或许有人会说,触屏现在流行下拉底部后加载下一页内容,类似微博和QQ空间那种模式,分页过时了.或许,阅读到底部后顺手点一下"下一页"和无需操作自动加载内容继续阅读,这小小的一点会给用户带来很不同的微妙感受. 可以肯定的是,当要展示数据量较大时,一定会用到分页的.一是给用户内容多少的预期,二是可以给浏览者提供一个停顿.如果用户看一篇文章已经翻了十几屏,滚动条还

php模拟用户自动在qq空间发表文章的方法

我们这里是一个简单的利用php来模拟登录后再到QQ空间发送文章的一个简单的程序,有需要的朋友可以参考,或改进可以给我意见,代码如下: [php] view plaincopy <?php //模拟get post请求函数 http://www.lai18.com /* 函数说明: 功能:请求方式可以get,post,可以发送的cookie,保存的cookiefile文件 参数:$url-----请求url    $referer---来源url    $postdata----------用于p