新浪微博抓取问题

liangtu 2015-03-02 11:57:02
用java的http方式抓取新浪微博的个人基本信息,不是用api的方式。
在开发、测试环境都正常,在生产环境下访问有问题,其中登录的这一步

正常情况下的应该返回:

<html>
<head>
<title>新浪通行证</title>
<meta http-equiv="Content-Type" content="text/html; charset=GBK" />

<script charset="utf-8" src="http://i.sso.sina.com.cn/js/ssologin.js"></script>
</head>
<body>
正在登录 ...
<script>
try{sinaSSOController.setCrossDomainUrlList({"retcode":0,"arrURL":["http:\/\/crosdom.weicaifu.com\/sso\/crosdom?action=login","http:\/\/passport.97973.com\/sso\/crossdomain?action=login","http:\/\/passport.weibo.cn\/sso\/crossdomain?action=login"]});}catch(e){}try{sinaSSOController.crossDomainAction('login',function(){location.replace('http://passport.weibo.com/wbsso/login?url=http%3A%2F%2Fweibo.com%2Fajaxlogin.php%3Fframelogin%3D1%26callback%3Dparent.sinaSSOController.feedBackUrlCallBack%26sudaref%3Dweibo.com&ticket=ST-MjI4ODUzMzQ1Mg==-1425266681-ja-67E5603E9D390F8C9AA1EA8BF856A17F&retcode=0');});}catch(e){}
</script>
</body>
</html>

其中包含retcode=0表示成功登录。

生成环境下返回的是:

<html>
<head>
<title>新浪通行证</title>
<meta http-equiv="refresh" content="0; url='http://weibo.com/ajaxlogin.php?framelogin=1&callback=parent.sinaSSOController.feedBackUrlCallBack&sudaref=weibo.com&retcode=4049&reason=%CE%AA%C1%CB%C4%FA%B5%C4%D5%CA%BA%C5%B0%B2%C8%AB%A3%AC%C7%EB%CA%E4%C8%EB%D1%E9%D6%A4%C2%EB'"/>
<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
</head>
<body bgcolor="#ffffff" text="#000000" link="#0000cc" vlink="#551a8b" alink="#ff0000">
<script type="text/javascript" language="javascript">
location.replace("http://weibo.com/ajaxlogin.php?framelogin=1&callback=parent.sinaSSOController.feedBackUrlCallBack&sudaref=weibo.com&retcode=4049&reason=%CE%AA%C1%CB%C4%FA%B5%C4%D5%CA%BA%C5%B0%B2%C8%AB%A3%AC%C7%EB%CA%E4%C8%EB%D1%E9%D6%A4%C2%EB");
</script>
</body>
</html>

其中:retcode=4049表示“为了您的帐号安全,请输入验证码”,但实际上是同一个帐号、密码,不应该存在该问题。
...全文
223 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
abguorui0928 2015-03-26
  • 打赏
  • 举报
回复
生产环境IP被封了,楼主你的问题解决了么
xianaofei 2015-03-03
  • 打赏
  • 举报
回复
你手动登录一下看是否需要验证码了
liangtu 2015-03-02
  • 打赏
  • 举报
回复
引用 1 楼 jianglang_a 的回复:
同一台机器上执行吗
不是,成功的是在本机,失败的是在正式服务器上。
亲努力啊 2015-03-02
  • 打赏
  • 举报
回复
同一台机器上执行吗

67,513

社区成员

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

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