V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
m_z
V2EX  ›  Java

java使用HttpClient 4.x实现新浪微博的登录

  •  
  •   m_z · 2012-09-17 17:26:09 +08:00 · 6484 次点击
    这是一个创建于 4450 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近工作需要爬新浪微博的名人堂微博,先是用新浪提供的sdk做了一套,结果客户的网络环境是要用代理的,这样在调用sdk的时候会报错,报的错和一个网上的贴子基本一样:http://forum.open.weibo.com/read.php?tid=48600。就像这个帖子,到现在没有人说出解决方案。所以现在打算直接使用HttpClient 4.x爬。

    希望有经验的说下登录的过程
    14 条回复    1970-01-01 08:00:00 +08:00
    twm
        1
    twm  
       2012-09-17 17:33:52 +08:00
    不用新浪api不好弄吧
    explon
        2
    explon  
       2012-09-17 17:35:06 +08:00
    不用 SDK 累死你
    holmesabc
        3
    holmesabc  
       2012-09-17 17:58:45 +08:00
    自己改一下SDK的源码不好一点
    m_z
        4
    m_z  
    OP
       2012-09-17 23:40:35 +08:00
    @twm 的确

    @explon 同感

    @holmesabc 有这样想过,只是sdk源码也是用的HttpClient实现的,对代理也是给HttpClient设置了代理。你是怎样的改源码的思路呢?
    cooiky
        5
    cooiky  
       2012-09-18 08:56:15 +08:00
    oauth
    sohoer
        6
    sohoer  
       2012-09-18 09:04:14 +08:00
    绑定登录后的COOKIE,应该就很简单了,
    m_z
        7
    m_z  
    OP
       2012-09-18 09:33:58 +08:00
    @sohoer 意思是拿到手动登录成功的cookie么?

    @cooiky 什么思路呢?
    cooiky
        8
    cooiky  
       2012-09-18 14:23:09 +08:00
    zoran
        9
    zoran  
       2012-09-18 23:26:17 +08:00
    方法一 重写sdk里httpclient部分代码 老版的httpclient搞不定可以尝试使用httpcomponent替换
    方法二 有点麻烦 抓多抓快了还会被封号封ip 一般是用wap版weibo.cn做入口 模拟登陆,然后设置拿到的cookie 一段时间内就不用在登陆。。开抓
    m_z
        10
    m_z  
    OP
       2012-09-19 09:37:51 +08:00
    @zoran 觉得方法一比较靠谱,谢谢~~
    hetaoblog
        11
    hetaoblog  
       2012-09-19 10:05:21 +08:00
    调用sdk前设置下jvm代理
    m_z
        12
    m_z  
    OP
       2012-09-19 10:08:18 +08:00
    @hetaoblog 这是什么原理啊!?
    hetaoblog
        13
    hetaoblog  
       2012-09-19 10:26:32 +08:00   ❤️ 1
    @m_z

    http://docs.oracle.com/javase/6/docs/technotes/guides/net/proxies.html

    简单的说,如果客户使用http代理,调用sdk前做如下设置应该可以
    System.setProperty("http.proxyHost", "webcache.mydomain.com");
    System.setPropery("http.proxyPort", "8080");
    m_z
        14
    m_z  
    OP
       2012-09-19 22:24:22 +08:00
    @hetaoblog 长见识了,谢谢!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2782 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 08:32 · PVG 16:32 · LAX 00:32 · JFK 03:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.