by agate - Published: 2008-06-15 [9:06 下午] - Category: 程序编码

power by ruby language:

require "net/http"

module SmallBlogSender
  def SmallBlogSender.send(username, password, web_server, message, param_name="status")
    url = URI.parse(web_server)
    req = Net::HTTP::Post.new(url.path)
    req.basic_auth username, password
    req.set_form_data({param_name => message}, ';')
    res = Net::HTTP.new(url.host, url.port).start {|http| http.request(req) }
    case res
    when Net::HTTPSuccess, Net::HTTPRedirection
      # OK
    else
      res.error!
    end
    return res
  end
  UPDATESERVERS = {
    "fanfou" => "http://api.fanfou.com/statuses/update.xml",
    "twitter" => "http://twitter.com/statuses/update.xml"
  }
end

puts "message:(less than 140 characters)"
message=gets
print "username: "
username=gets.delete("\n")
print "password: "
password=gets.delete("\n")
print "==== Now sending to Fanfou ===>"
response = SmallBlogSender.send(username, password, SmallBlogSender::UPDATESERVERS["fanfou"], message)
puts " OK." if response==Net::HTTPSuccess or Net::HTTPRedirection
print "==== Now sending to Twitter ===>"
response = SmallBlogSender.send(username, password, SmallBlogSender::UPDATESERVERS["twitter"], message)
puts " OK." if response==Net::HTTPSuccess or Net::HTTPRedirection

suggest to run on linux(unix or mac) bash!

Tags: [ , ] - Comments: View Comments
blog comments powered by Disqus