ruby 代理更新twitter

Posted by wxianfeng Mon, 14 Dec 2009 04:37:00 GMT

环境:

tor + windows

toonel.jar + linux

最近做了个自已用的 浏览器的 bookmarklet,可以一键 同步更新自己的 status(twitter,douban,xiaonei,kaixin001,meme等),这里以twitter为例,通过twitter api + 代理 更新自己的 tweets

1,windows 平台

(1)打开自己的tor 代理

(2)核心代码

def twitter
  email = '你注册的twitter email'
  password = '你的twitter密码'
  update_text = 'test status from twitter api by proxy'    
  proxy_host = '127.0.0.1'
  # tor
  proxy_port = 8118 # tor 的http 端口是 8118 
  # toonel
 # proxy_port = 8080
  proxy      = Net::HTTP::Proxy(proxy_host, proxy_port)
  url = URI.parse('http://twitter.com/statuses/update.xml')
  proxy.start(url.host,url.port) do |h|
    # Create the POST request
    req = Net::HTTP::Post.new(url.path)
    req.basic_auth email, password
    req.set_form_data({'status' => update_text})
    response = h.request(req)
    # Check the request's response
    if response.message == 'OK'
      puts response.body
    else
      puts 'failure'
    end
  end
end


2,linux平台,下面这种方法windows同样适用,java是跨平台的

(1)打开 toonel.jar 代理

(2)把上面 的 port 改为 proxy_port = 8080

为了 blog的 安全 , 这里没有介绍 代理的方法,请自行google,当然代理的办法有很多,更新twitter的tweets 也有很多办法,可以根据自己的代理,自行修改代码~!