java 登录新浪微博(非调用新浪API)

问题描述

各位大牛:我最近需要爬取新浪微博一些数据,决定用java(不用新浪微博提供的API);具体步骤如下:1先用POST方法发送表头和表单,得到一个返回,取出里面的location.replace包含的链接地址;2用get方法向步骤一得到的链接地址发一个返回数据,得到如下结果:<html><head><scriptlanguage='javascript'>parent.sinaSSOController.feedBackUrlCallBack({"result":true,"userinfo":{"uniqueid":"2159834885","userid":null,"displayname":"312241444","userdomain":"?wvr=5&lf=reg"}});</script></head><body></body></html>3从这里面提取uniqueid和userdomain,再次生成一个url:http://weibo.com/u/2159834885?wvr=5&wvr=5&lf=reg,继续用get方法(带上步骤一POST后返回的cookie),结果还是返回登录页面;我用firebug跟踪浏览器登录,和我的模拟登录发送数据包的顺序是一样的,但是我通过java程序还是无法得到微博的数据,求各位大牛指导,感谢!

解决方案

解决方案二:
楼主在模拟登陆的登陆的时候记得设置一下user-agentjava的agent说不定会被屏蔽掉楼主都已经登陆成功了很厉害啊我当时做个新浪的模拟登陆花了一周时间
解决方案三:
我不知道楼主是如何做的登陆我记得新浪的账户密码不是明文传回去验证的而是现在客户端用js加密之后再传这个加密算法隐藏的很深我好不容易才找到因为js代码真心难懂而且变量命名毫无规则各种a,b,c,d的这种变量
解决方案四:
引用2楼zyrobert的回复:

我不知道楼主是如何做的登陆我记得新浪的账户密码不是明文传回去验证的而是现在客户端用js加密之后再传这个加密算法隐藏的很深我好不容易才找到因为js代码真心难懂而且变量命名毫无规则各种a,b,c,d的这种变量

这个问题有牛人写了代码,链接在这:http://blog.csdn.net/memray/article/details/8911113
解决方案五:
引用3楼u011305249的回复:

Quote: 引用2楼zyrobert的回复:
我不知道楼主是如何做的登陆我记得新浪的账户密码不是明文传回去验证的而是现在客户端用js加密之后再传这个加密算法隐藏的很深我好不容易才找到因为js代码真心难懂而且变量命名毫无规则各种a,b,c,d的这种变量

这个问题有牛人写了代码,链接在这:http://blog.csdn.net/memray/article/details/8911113

好吧现在研究的人多了
解决方案六:
用http://blog.csdn.net/wolfphantasms/article/details/8635456的上半段代码能够成功登录了,感谢博主无私分享成功经验!
解决方案七:

解决方案八:
引用4楼zyrobert的回复:

Quote: 引用3楼u011305249的回复:
Quote: 引用2楼zyrobert的回复:
我不知道楼主是如何做的登陆我记得新浪的账户密码不是明文传回去验证的而是现在客户端用js加密之后再传这个加密算法隐藏的很深我好不容易才找到因为js代码真心难懂而且变量命名毫无规则各种a,b,c,d的这种变量

这个问题有牛人写了代码,链接在这:http://blog.csdn.net/memray/article/details/8911113

好吧现在研究的人多了[/quote请问这个可以登陆吗,为什么我的不能呢
解决方案九:
有没有人解决了这个问题?http://blog.csdn.net/memray/article/details/8911113这里的代码好像也不行了

时间: 2024-09-22 08:58:21

java 登录新浪微博(非调用新浪API)的相关文章

新浪微博api 调用-如何调用新浪API对其微博数据进行挖掘分析

问题描述 如何调用新浪API对其微博数据进行挖掘分析 各位大神,菜鸟目前正在进行微博数据挖掘分析的相关项目,刚开始没多久,在此想请教各位,如何在SQL等数据库软件上调用新浪微博API,我已经在新浪微博平台,并下载了相关的SDK包,调用所必需的 app secret,回调地址等都已经有了,现在就是不知道如何在数据库软件上调用数据的具体操作,是通过平台给出的那些接口吗?具体问题如下: 1,如何获取微博内的数据: 2,新浪平台提供的那些接口怎么使用.(PS:关于数据挖掘的算法分析这些以后会逐步解决,现

JQuery与Ajax调用新浪API获取短网址的代码

 这篇文章主要介绍了调用新浪API获取短网址的方法有很多,本例为大家介绍下使用JQuery与Ajax来实现,需要的朋友可以参考下  代码如下: <!doctype html>  <html>  <head>  <meta charset="utf-8">  <title>获取新浪短网址</title>  <script src="http://ajax.aspnetcdn.com/ajax/jQue

根据ip调用新浪api获取城市名并转成拼音

 这篇文章主要介绍了根据ip调用新浪api获取城市名并转成拼音的示例,,需要的朋友可以参考下 功能:   1,获取当前IP地址, 2,调用新浪API,获取到当前城市. 3,将中文转换为拼音后跳转.  代码如下: <?php  include './pinyin.php';   //获取当前ip function getIp(){   $onlineip='';   if(getenv('HTTP_CLIENT_IP')&&strcasecmp(getenv('HTTP_CLIENT_

jsonp-ajax 调用新浪API动态获取短网址

问题描述 ajax 调用新浪API动态获取短网址 function getShortUrl(urlStr){ $.ajax({ async:false, url : 'http://api.weibo.com/2/short_url/shorten.json?source=5786724301&url_long='+urlStr, type : 'GET', dataType : 'JSONP', jsonp: 'jsoncallback', cache: false, success : fu

根据ip调用新浪api获取城市名并转成拼音_php实例

功能: 1,获取当前IP地址,2,调用新浪API,获取到当前城市.3,将中文转换为拼音后跳转. 复制代码 代码如下: <?php include './pinyin.php'; //获取当前ipfunction getIp(){  $onlineip='';  if(getenv('HTTP_CLIENT_IP')&&strcasecmp(getenv('HTTP_CLIENT_IP'),'unknown')){   $onlineip=getenv('HTTP_CLIENT_IP'

调用新浪API中的通过ID获得微博评论内容后,怎样将打印窗口里的信息保存成文件

问题描述 我是调用的新浪API中的通过ID获得微博评论内容的类,即GetCommentById.java其中最主要的执行语句是CommentWappercomment=cm.getCommentById(id);该句中的getCommentById是:publicCommentWappergetCommentById(Stringid)throwsWeiboException{returnComment.constructWapperComments(client.get(WeiboConfig

JQuery与Ajax调用新浪API获取短网址的代码_jquery

复制代码 代码如下: <!doctype html> <html> <head> <meta charset="utf-8"> <title>获取新浪短网址</title> <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.0.js"></script> <!--<script type

php调用新浪短链接API的方法_php技巧

本文实例讲述了php调用新浪短链接API的方法.分享给大家供大家参考.具体方法如下: 复制代码 代码如下: <?php //Sina App_Key define('SINA_APPKEY', '31641035'); function curlQuery($url) {  //设置附加HTTP头  $addHead = array(  "Content-type: application/json"  );  //初始化curl,当然,你也可以用fsockopen代替  $cu

如何用代理访问新浪API

问题描述 网上的代理教程都是用代理去访问网址的,我现在是想批量获取微博的一些数据,新浪有写好的API,就是可以直接调用其函数即可.但是现在不知如何用代理去调用人家已经写好的函数. 解决方案 解决方案二:直接设置代理:System.getProperties().setProperty("proxySet","true");System.getProperties().setProperty("http.proxyHost","www-p