diff --git a/lib/qiniu/rs/config.rb b/lib/qiniu/rs/config.rb index 0acaca5..b667c91 100755 --- a/lib/qiniu/rs/config.rb +++ b/lib/qiniu/rs/config.rb @@ -22,9 +22,9 @@ module Qiniu :auth_url => "https://acc.qbox.me/oauth2/token", :rs_host => "http://rs.qbox.me:10100", :io_host => "http://iovip.qbox.me", - :up_host => "http://m1.qbox.me:13019", - :pub_host => "http://m1.qbox.me:13012", - :eu_host => "http://m1.qbox.me:15000", + :up_host => "http://up.qbox.me", + :pub_host => "http://pu.qbox.me:10200", + :eu_host => "http://eu.qbox.me", :client_id => "a75604760c4da4caaa456c0c5895c061c3065c5a", :client_secret => "75df554a39f58accb7eb293b550fa59618674b7d", :access_key => "", diff --git a/lib/qiniu/rs/utils.rb b/lib/qiniu/rs/utils.rb index 27bf9ef..f12c39c 100755 --- a/lib/qiniu/rs/utils.rb +++ b/lib/qiniu/rs/utils.rb @@ -1,6 +1,7 @@ # -*- encoding: utf-8 -*- require 'uri' +require 'cgi' require 'json' require 'zlib' require 'base64' @@ -104,8 +105,8 @@ module Qiniu def generate_query_string(params) return params if params.is_a?(String) - total_param = params.map { |key, value| key.to_s+"="+value.to_s } - URI.escape(total_param.join("&")) + total_param = params.map { |key, value| %Q(#{CGI.escape(key.to_s)}=#{CGI.escape(value.to_s).gsub('+', '%20')}) } + total_param.join("&") end def crc32checksum(filepath) @@ -119,10 +120,10 @@ module Qiniu signature = uri.path query_string = uri.query signature += '?' + query_string if !query_string.nil? && !query_string.empty? - signature += "\n"; + signature += "\n" if params.is_a?(Hash) - total_param = params.map { |key, value| key.to_s+"="+value.to_s } - signature += total_param.join("&") + params_string = generate_query_string(params) + signature += params_string end hmac = HMAC::SHA1.new(secret_key) hmac.update(signature) diff --git a/lib/qiniu/tokens/qbox_token.rb b/lib/qiniu/tokens/qbox_token.rb index 4c9ef4f..90c22bd 100755 --- a/lib/qiniu/tokens/qbox_token.rb +++ b/lib/qiniu/tokens/qbox_token.rb @@ -1,5 +1,6 @@ # -*- encoding: utf-8 -*- +require 'cgi' require 'json' require 'qiniu/tokens/access_token' @@ -21,7 +22,7 @@ module Qiniu signature += '?' + query_string if !query_string.nil? && !query_string.empty? signature += "\n"; if @params.is_a?(Hash) - total_param = @params.map { |key, value| key.to_s+"="+value.to_s } + total_param = @params.map { |key, value| %Q(#{CGI.escape(key.to_s)}=#{CGI.escape(value.to_s).gsub('+', '%20')}) } signature += total_param.join("&") end signature diff --git a/spec/qiniu/rs/auth_spec.rb b/spec/qiniu/rs/auth_spec.rb index b4b4efe..e7b9d6a 100755 --- a/spec/qiniu/rs/auth_spec.rb +++ b/spec/qiniu/rs/auth_spec.rb @@ -8,8 +8,8 @@ module Qiniu describe Auth do before :all do - @username = "test@qbox.net" - @password = "test" + @username = "qboxtest" + @password = "qboxtest123" code, data = Qiniu::RS::Auth.exchange_by_password!(@username, @password) code.should == 200 diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 98daa2a..5ba1144 100755 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -6,9 +6,11 @@ require 'rspec' RSpec.configure do |config| config.before :all do -# Qiniu::RS.establish_connection! :access_key => "3fPHl_SLkPXdioqI_A8_NGngPWVJhlDk2ktRjogH", -# :secret_key => "bXTPMDJrVYRJUiSDRFtFYwycVD_mjXxYWrCYlDHy" - +=begin + Qiniu::RS.establish_connection! :access_key => "3fPHl_SLkPXdioqI_A8_NGngPWVJhlDk2ktRjogH", + :secret_key => "bXTPMDJrVYRJUiSDRFtFYwycVD_mjXxYWrCYlDHy" +=end +#=begin Qiniu::RS.establish_connection! :access_key => "bE21M6FW9V7zAFrBY5psgKOKJQLiBj12qMWTpc57", :secret_key => "uMo7Nyq_eDK_CuQ8_FYCxoTHQZqjiaPh-cbiKO7L", :auth_url => "http://m1.qbox.me:13001/oauth2/token", @@ -16,6 +18,17 @@ RSpec.configure do |config| :io_host => "http://m1.qbox.me:13004", :up_host => "http://m1.qbox.me:13019", :pub_host => "http://m1.qbox.me:13012", - :eu_host => "http://m1.qbox.me:15000", + :eu_host => "http://m1.qbox.me:13050" +#=end +=begin + Qiniu::RS.establish_connection! :access_key => "k6N9zXGKUs7UFmJtPXLWOF4idSAgPL4xA6BApBd-", + :secret_key => "p77h4hLERjGPi1Aw4P_G5qHGMKcz1MeSz3CqnYMV", + :auth_url => "http://127.0.0.1:9100/oauth2/token", + :rs_host => "http://127.0.0.1:9400", + :io_host => "http://127.0.0.1:9200", + :up_host => "http://127.0.0.1:11200", + :pub_host => "http://127.0.0.1:10200", + :eu_host => "http://127.0.0.1:15000" +=end end end