rubygemsのtwitterライブラリ""を使って認証付きproxyを越える方法を考えてみました。
ライブラリ自体の使い方は調べ中なので他のサイトを漁ってみてください。
方法1. Twitter.configureでproxy(別々にuri,user,password)を設定する。
方法2. Twitter.configureでproxy(uri文字列)を設定する。
設定値として"http://ユーザID:パスワード@ホスト名:ポート番号/"なURIとして有効な文字列を指定してあげたいという方法。
ここまでやってみて、fadarayというgemライブラリのプロキシ設定のデータ構造がopen-uriで使える環境変数での値と異なるところが気持ち悪い事がはっきりした。
ライブラリ自体の使い方は調べ中なので他のサイトを漁ってみてください。
方法1. Twitter.configureでproxy(別々にuri,user,password)を設定する。
require 'rubygems'
require 'twitter'
Twitter.configure do |config|
config.proxy = {
:uri => "http://hostname",
:user => "proxy_user_name",
:password => "proxy_password"
}
end
p Twitter.user_timeline("wakatter")
方法2. Twitter.configureでproxy(uri文字列)を設定する。
設定値として"http://ユーザID:パスワード@ホスト名:ポート番号/"なURIとして有効な文字列を指定してあげたいという方法。
require 'rubygems'
require 'twitter'
require 'pp'
module Faraday
class Connection
def proxy(arg = nil)
return @proxy if arg.nil?
@proxy =
case arg
when String then {:uri => proxy_arg_to_uri(arg)}
when URI then {:uri => arg}
when Hash
if arg[:uri] = proxy_arg_to_uri(arg[:uri])
arg
else
raise ArgumentError, "no :uri option."
end
end
if (@proxy[:uri].user and @proxy[:uri].password) then
@proxy[:user] = @proxy[:uri].user
@proxy[:password] = @proxy[:uri].password
end
@proxy
end
end
end
Twitter.configure do |config|
config.proxy = {
:uri => "http://ユーザ名:パスワード@localhost:3128/"
}
end
pp Twitter.user_timeline("wakatter")
ここまでやってみて、fadarayというgemライブラリのプロキシ設定のデータ構造がopen-uriで使える環境変数での値と異なるところが気持ち悪い事がはっきりした。
0 件のコメント:
コメントを投稿