rubyとtorの連携 nokogiri _ mechanize socksify
rubyからtorを利用する為にsocksプロキシを使う
gem install socksify
MechanizeだとSocks対応してないみたいで、とりあえずNokogiri
他の方法だと、
IE → 予めSocksプロキシ設定
Firefox → SeleniumでSocksプロキシ設定
で、watirで動かす
あかん・・・・・
明日・・・明日は絵描くよ…・・・・。
描こうとしたのにゆゆ様ごめn
---追記
Mechanizeでも動かせた
socksifyでメソッド追加して
MechanizeにSokcsプロキシを対応させ、Torを使う
ここが agent.agent となる
>agent.agent.set_socks('127.0.0.1', 9150)
class Mechanizeの定義
C:/Ruby/lib/ruby/gems/1.9.1/gems/mechanize-2.7.1/lib/mechanize.rb
class Mechanize::HTTP::Agentの定義
C:/Ruby/lib/ruby/gems/1.9.1/gems/mechanize-2.7.1/lib/mechanize/http/agent.rb
精神効率が高くなってきた^^
gem install socksify
require "mechanize"
require 'socksify/http'
uri = URI.parse("http://www.ugtop.com/spill.shtml")
res = Net::HTTP.SOCKSProxy('127.0.0.1', 9150).start(uri.host, uri.port) do |f|
f.get(uri.path).body
end
doc = Nokogiri::HTML.parse(res, nil, )
puts doc
MechanizeだとSocks対応してないみたいで、とりあえずNokogiri
他の方法だと、
IE → 予めSocksプロキシ設定
Firefox → SeleniumでSocksプロキシ設定
で、watirで動かす
あかん・・・・・
明日・・・明日は絵描くよ…・・・・。
描こうとしたのにゆゆ様ごめn
---追記
Mechanizeでも動かせた
# requires socksify gem
require "mechanize"
require "socksify"
require 'socksify/http'
# Mechanize: call @agent.set_socks(addr, port) before using
# any of it's methods; it might be working in other cases,
# but I just didn't tried :)
class Mechanize::HTTP::Agent
public
def set_socks addr, port
set_http unless @http
class << @http
attr_accessor :socks_addr, :socks_port
def http_class
Net::HTTP.SOCKSProxy(socks_addr, socks_port)
end
end
@http.socks_addr = addr
@http.socks_port = port
end
end
agent = Mechanize.new
agent.agent.set_socks('127.0.0.1', 9150)
agent.get "http://www.ugtop.com/spill.shtml"
puts agent.page.body
socksifyでメソッド追加して
MechanizeにSokcsプロキシを対応させ、Torを使う
ここが agent.agent となる
>agent.agent.set_socks('127.0.0.1', 9150)
class Mechanizeの定義
C:/Ruby/lib/ruby/gems/1.9.1/gems/mechanize-2.7.1/lib/mechanize.rb
class Mechanize::HTTP::Agentの定義
C:/Ruby/lib/ruby/gems/1.9.1/gems/mechanize-2.7.1/lib/mechanize/http/agent.rb
class Mechanize
def initialize
@agent = Mechanize::HTTP::Agent.new
精神効率が高くなってきた^^
comment