有没有基于java登录新浪微博 Web实现的类似于微博的项目例子,我非常想学习下?

新浪微博应用开发之Java篇
2012年11月11日星期日
一、开发流程简介:
1、& 访问注册成为开发者
2、& 在以下地址创建一个应用,假设创建一个桌面应用:
3、& 进入管理中心,查看并记住应用ID和密码:
4、& 在&应用中心-高级信息&设置回调页面(设置后一般需要半小时左右才能生效):
OK,准备工作完成!
二、不使用任何SDK实现Oauth授权并实现简单的发布微博功能:
创建一个Java项目,编写如下代码,具体过程代码中已写的很清楚,这里不再做解释:
注意先修改应用ID、应用密码和回调页面成你自己的!访问授权页面:
import java.io.BufferedR
import java.io.InputStreamR
import java.io.OutputStreamW
import java.net.URL;
import java.net.URLC
import java.security.cert.CertificateE
import java.security.cert.X509C
import java.util.S
import javax.net.ssl.X509TrustM
* @author 刘显安
* 不使用任何SDK实现新浪微博Oauth授权并实现发微薄小Demo
* 日期:日
public class Test
static String clientId="";//你的应用ID
static String clientSecret="72037e76beec30dd8a386a";//你的应用密码
static String redirectUri="/oauth2/default.html";//你在应用管理中心设置的回调页面
public static void main(String[] args) throws Exception
testHttps();//测试
//第一步:访问授权页面获取授权
System.out.println("请打开你的浏览器,访问以下页面,登录你的微博账号并授权:");
System.out.println("/oauth2/authorize?client_id="+clientId+"&response_type=code&redirect_uri="+redirectUri+"&forcelogin=true");
//第二步:获取AccessToken
System.out.println("请将授权成功后的页面地址栏中的参数code:");
String code=new Scanner(System.in).next();
getAccessToken(code);
//第三步:发布一条微博
System.out.println("请输入上面返回的值中accessToken的值:");
String accessToken=new Scanner(System.in).next();
updateStatus("发布微博测试!来自WeiboDemo!", accessToken);
* 测试能否正常访问HTTPS打头的网站,
public static void testHttps()
trustAllHttpsCertificates();//设置信任所有的http证书
URL url=new URL("/oauth2/default.html");
URLConnection con=url.openConnection();
con.getInputStream();
System.out.println("恭喜,访问HTTPS打头的网站正常!");
catch (Exception e)
e.printStackTrace();
* 以Post方式访问一个URL
* @param url 要访问的URL
* @param parameters URL后面&?&后面跟着的参数
public static void postUrl(String url,String parameters)
trustAllHttpsCertificates();//设置信任所有的http证书
URLConnection conn = new URL(url).openConnection();
conn.setDoOutput(true);// 这里是关键,表示我们要向链接里注入的参数
OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream());// 获得连接输出流
out.write(parameters);
out.flush();
out.close();
// 到这里已经完成了,开始打印返回的HTML代码
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line = null;
while ((line = reader.readLine()) != null)
System.out.println(line);
catch (Exception e)
e.printStackTrace();
* 获取AccessToken
* @param code 在授权页面返回的Code
public static void getAccessToken(String code)
String url="/oauth2/access_token";
String parameters="client_id=" +clientId+"&client_secret=" +clientSecret+
"&grant_type=authorization_code" +"&redirect_uri=" +redirectUri+"&code="+
postUrl(url, parameters);
* 利用刚获取的AccessToken发布一条微博
* @param text 要发布的微博内容
* @param accessToken 刚获取的AccessToken
public static void updateStatus(String text,String accessToken)
String url="/2/statuses/update.json";
String parameters="status="+text+"&access_token="+accessT
postUrl(url, parameters);
System.out.println("发布微博成功!");
* 设置信任所有的http证书(正常情况下访问https打头的网站会出现证书不信任相关错误,所以必须在访问前调用此方法)
* @throws Exception
private static void trustAllHttpsCertificates() throws Exception
javax.net.ssl.TrustManager[] trustAllCerts = new javax.net.ssl.TrustManager[1];
trustAllCerts[0] = new X509TrustManager()
public X509Certificate[] getAcceptedIssuers()
return null;
public void checkServerTrusted(X509Certificate[] arg0, String arg1)
throws CertificateException
public void checkClientTrusted(X509Certificate[] arg0, String arg1)
throws CertificateException
javax.net.ssl.SSLContext sc = javax.net.ssl.SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, null);
javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
访问授权页面:
授权成功:
发布微博成功:
控制台输出结果:
三、使用weibo4j-oauth2这个SDK做一个简单的抢沙发工具:
1、SDK下载:
下载下来是个包含测试代码的整个SDK源代码,可以打包成jar文件方便调用,我这里打包成名为weibo4j-oauth2.jar的文件,注意先修改config.properties文件中的应用id、应用密码、回调页面。
2、在项目中导入以下6个包:
3、使用WindowsBuild新建一个Jframe窗体,大体布局如下:
三个按钮的事件分别如下:
public Date minT//最近一条微博的更新时间
* 打开授权页面
public void openUrl()
BareBonesBrowserLaunch.openURL(new Oauth().authorize("code"));
catch (WeiboException e)
e.printStackTrace();
* 获取当前登录用户的好友列表
public void getFriends()
//获取好友列表
accessToken=new Oauth().getAccessTokenByCode(textFieldCode.getText());
Friendships friendships=new Friendships();
friendships.setToken(accessToken.getAccessToken());
for(User user:friendships.getFriendsByID(accessToken.getUid()).getUsers())
comboBox.addItem(user.getName());
catch (WeiboException e)
e.printStackTrace();
* 开始监控关注用户的微博
* @throws WeiboException
public void start()
System.out.println("开始监控");
Timeline timeline=new Timeline();
timeline.setToken(accessToken.getAccessToken());
minTime = timeline.getUserTimelineByName(comboBox.getSelectedItem().toString()).getStatuses().get(0).getCreatedAt();
Timer timer=new Timer();
timer.schedule(new TimerTask()
public void run()
Timeline timeline=new Timeline();
timeline.setToken(accessToken.getAccessToken());
Status status=timeline.getUserTimelineByName(comboBox.getSelectedItem().toString()).getStatuses().get(0);
if(status.getCreatedAt().after(minTime))//如果最新微博的发表时间在之前相对时间的后面
minTime=status.getCreatedAt();
System.out.println("你关注的用户更新微博啦");
Comments comments=new Comments();
comments.setToken(accessToken.getAccessToken());
comments.createComment("哈哈,我来评论啦!", status.getId());
JOptionPane.showMessageDialog(null, "恭喜,抢沙发成功!");
catch (WeiboException e)
e.printStackTrace();
}, 0, 5000);//设置5秒钟刷新一次
catch (WeiboException e)
e.printStackTrace();
项目源代码下载地址:
整理后的SDK下载地址:
有问题可以联系:&
阅读(...) 评论()&>&&>&&>&&>&仿新浪微博的一个java web中级项目
仿新浪微博的一个java web中级项目
上传大小:5.71MB
一、 功能图 2
功能详细设计 3
2.1.1 用户登录与注册 8
2.1.1.1 功能分析 8
2.1.1.2 时序图 8
2.1.1.3 数据流向图 8
2.1.1.4 页面字段 9
2.2.1 微博管理 8
2.2.1.1 功能分析 8
2.2.1.2 时序图 8
2.2.1.3 数据流向图 8
2.2.1.4 页面字段 9
2.3.1 消息管理 8
2.3.1.1 功能分析 8
2.3.1.2 时序图 8
2.3.1.3 数据流向图 8
2.3.1.4 页面字段 9
2.4.1 个人资料管理 8
2.4.1.1 功能分析 8
2.4.1.2 时序图 8
2.4.1.3 数据流向图 8
2.4.1.4 页面字段 9
2.5.1 账号安全管理 8
2.5.1.1 功能分析 8
2.5.1.2 时序图 8
2.5.1.3 数据流向图 8
2.5.1.4 页面字段 9
2.6.1 关注粉丝管理 8
2.6.1.1 功能分析 8
2.6.1.2 时序图 8
2.6.1.3 数据流向图 8
2.6.1.4 页面字段 9
三、数据库设计
3.2 数据字典
3.3 SQL脚本...展开收缩
综合评分:4.2(60位用户评分)
所需积分:1
下载次数:420
审核通过送C币
创建者:doomlord
创建者:qw
课程推荐相关知识库
上传者其他资源上传者专辑
开发技术热门标签
VIP会员动态
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
android服务器底层网络模块的设计方法
所需积分:0
剩余积分:720
您当前C币:0
可兑换下载积分:0
兑换下载分:
兑换失败,您当前C币不够,请先充值C币
消耗C币:0
你当前的下载分为234。
仿新浪微博的一个java web中级项目
会员到期时间:
剩余下载次数:
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可奖励20下载分
被举报人:
zyz8646721
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:}

我要回帖

更多关于 java微博系统 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信