Changeset 21385

Show
Ignore:
Timestamp:
10/15/08 22:07:20 (5 years ago)
Author:
drry
Message:
  • HTTPS に変更してみました。
  • 正規表現を修正しました。
  • Pit の設定名を「api.wassr.jp」に変更しました。
  • ほか。
Location:
lang/ruby/misc
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • lang/ruby/misc/twitter_remove_friends/twitter_remove_friends_json.rb

    • Property svn:executable set to *
    r21250 r21385  
    22 
    33require 'open-uri' 
    4 require 'net/http' 
     4require 'net/https' 
    55require 'yaml' 
    66require 'pathname' 
     
    1111Net::HTTP.version_1_2 
    1212 
    13 TWITTER_API = URI('http://twitter.com/') 
     13TWITTER_API = URI("https://twitter.com/") 
    1414 
    15 twitter_account = Pit.get('twitter.com', :require => { 
    16   :username => 'please set your username', 
    17   :password => 'please set your password', 
     15twitter_account = Pit.get(TWITTER_API.host, :require => { 
     16        :username => 'Please set your username for Twitter.', 
     17        :password => 'Please set your password for Twitter.', 
    1818}) 
    1919 
     
    2828 
    2929                json.each do |user| 
    30                    next if user["status"].nil? 
     30                        next if user["status"].nil? 
    3131                        duration = Time.now - Time.parse(user["status"]["created_at"]) 
    3232                        followers << user["screen_name"] if duration > yaml["duration"].to_i * 24 * 60 * 60 
    3333                end 
    34                  
     34 
    3535                page += 1 
    3636                sleep(5) 
     
    3838 
    3939        puts "remove users: #{followers.join(" ")}" 
    40          
    41         followers.each do |name|  
    42                 req = Net::HTTP::Post.new( "/friendships/destroy/#{name}.json", '' ) 
     40 
     41        followers.each do |name| 
     42                req = Net::HTTP::Delete.new( "#{TWITTER_API.path}friendships/destroy/#{name}.json", '' ) 
    4343                req.basic_auth twitter_account[:username], twitter_account[:password] 
    44                 Net::HTTP.start( TWITTER_API.host ) do |http| 
     44                http = Net::HTTP.new( TWITTER_API.host, TWITTER_API.port ) 
     45                if TWITTER_API.scheme == "https" 
     46                        http.use_ssl = true 
     47                        http.verify_mode = OpenSSL::SSL::VERIFY_NONE # OOPS! 
     48                end 
     49                http.start do 
    4550                        response = http.request(req) 
    46                         puts "#{name} is removed."  
     51                        case response 
     52                        when Net::HTTPOK # 200 
     53                                puts "#{name} is removed." 
     54                        when Net::HTTPBadRequest # 400 
     55                                puts "BAD REQUEST: #{name}" 
     56                        end 
    4757                end 
    4858                sleep(15) 
  • lang/ruby/misc/wassr_follow_in_twitter_json.rb

    r21254 r21385  
    99Net::HTTP.version_1_2 
    1010 
    11 TWITTER_API = URI('http://twitter.com/') 
    12 WASSR_API = URI('http://api.wassr.jp/')  
     11TWITTER_API = URI("https://twitter.com/") 
     12WASSR_API = URI("http://api.wassr.jp/") 
    1313 
    14 twitter_account = Pit.get('twitter.com', :require => { 
    15   :username => 'please set your username', 
    16   :password => 'please set your password', 
     14twitter_account = Pit.get(TWITTER_API.host, :require => { 
     15        :username => 'Please set your username for Twitter.', 
     16        :password => 'Please set your password for Twitter.', 
    1717}) 
    18 wassr_account = Pit.get('wassr.jp', :require => { 
    19   :username => 'please set your username', 
    20   :password => 'please set your password', 
     18wassr_account = Pit.get(WASSR_API.host, :require => { 
     19        :username => 'Please set your username for Wassr.', 
     20        :password => 'Please set your password for Wassr.', 
    2121}) 
    2222 
     
    2828                        json = JSON.parse(open(api + "statuses/friends.json?page=#{page}", :http_basic_authentication => [account[:username], account[:password]]).read) 
    2929                        break if json.empty? 
    30                          
     30 
    3131                        json.each do |user| 
    3232                                friends << user["screen_name"] 
     
    5252begin 
    5353        friends.each do |name| 
    54                 next unless /^[a-z0-9]+$/ =~ name 
    55                 req = Net::HTTP::Post.new( "/friendships/create/#{name}.json", '' ) 
     54                next unless /^[a-z0-9][-a-z0-9_]{1,18}[a-z0-9]$/ =~ name 
     55                req = Net::HTTP::Post.new( "#{WASSR_API.path}friendships/create/#{name}.json", '' ) 
    5656                req.basic_auth wassr_account[:username], wassr_account[:password] 
    5757                Net::HTTP.start( WASSR_API.host ) do |http| 
    5858                        response = http.request(req) 
    5959                        json = JSON.parse(response.body) 
    60                         unless json.has_key? 'error'  
     60                        unless json.has_key? 'error' 
    6161                                puts "#{name} is followed." if json["status"] == 'ok' 
    6262                        end