m_z
V2EX  ›  Java

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

  •  
  •   m_z · Sep 17, 2012 · 7990 views
    This topic created in 5161 days ago, the information mentioned may be changed or developed.
    最近工作需要爬新浪微博的名人堂微博,先是用新浪提供的sdk做了一套,结果客户的网络环境是要用代理的,这样在调用sdk的时候会报错,报的错和一个网上的贴子基本一样:http://forum.open.weibo.com/read.php?tid=48600。就像这个帖子,到现在没有人说出解决方案。所以现在打算直接使用HttpClient 4.x爬。

    希望有经验的说下登录的过程
    14 replies  •  1970-01-01 08:00:00 +08:00
    twm
    twm
    Sep 17, 2012
    1
    不用新浪api不好弄吧
    explon
    explon
    Sep 17, 2012
    2
    不用 SDK 累死你
    holmesabc
    holmesabc
    Sep 17, 2012
    3
    自己改一下SDK的源码不好一点
    m_z
    m_z
    OP
    Sep 17, 2012
    4
    @twm 的确

    @explon 同感

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

    @cooiky 什么思路呢?
    cooiky
    cooiky
    Sep 18, 2012
    8
    zoran
    zoran
    Sep 18, 2012
    9
    方法一 重写sdk里httpclient部分代码 老版的httpclient搞不定可以尝试使用httpcomponent替换
    方法二 有点麻烦 抓多抓快了还会被封号封ip 一般是用wap版weibo.cn做入口 模拟登陆,然后设置拿到的cookie 一段时间内就不用在登陆。。开抓
    m_z
    m_z
    OP
    Sep 19, 2012
    10
    @zoran 觉得方法一比较靠谱,谢谢~~
    hetaoblog
    hetaoblog
    Sep 19, 2012
    11
    调用sdk前设置下jvm代理
    m_z
    m_z
    OP
    Sep 19, 2012
    12
    @hetaoblog 这是什么原理啊!?
    hetaoblog
    hetaoblog
    Sep 19, 2012❤️1
    13
    @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
    m_z
    OP
    Sep 19, 2012
    14
    @hetaoblog 长见识了,谢谢!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4941 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 08:46 · PVG 16:46 · LAX 00:46 · JFK 03:46
    ♥ Do have faith in what you're doing.