プログラミング

Ruby open-uriでBASIC認証ありのプロキシサーバーを経由

Ruby言語のopen-uriライブラリでBASIC認証ありのプロキシサーバーを経由する場合の方法についてメモです。

プロキシ経由でサイトにアクセスしてnokogiriを使用しIPアドレスをスクレイピングして確認する例


require 'nokogiri'
require 'open-uri'

Encoding.default_external = 'UTF-8'

url = "http://localhost:3000/ip/show.json"
url = "https://whatismyipaddress.com"
url = "https://www.cman.jp/network/support/go_access.cgi" #= > chnfirm IP addr

charset = nil
# html = open(url) do |f|
html = open(url, :proxy_http_basic_authentication => ['http://IP:ポート', 'USER', 'PASS']) do |f|
# html = open(url, :proxy=>'http://198.27.115.42:3128') do |f|
# html = open(url, :proxy=>'http://38.29.152.9:53281') do |f| # => https://free-proxy-list.net
  charset = f.charset
  f.read
end
doc = Nokogiri::HTML.parse(html, nil, charset)

# require 'pry-byebug'
# binding.pry

puts doc.title

puts doc.xpath('//*[@id="section_left"]/div[3]/table/tbody/tr[1]/td').text
puts doc.xpath('//*[@id="tmContHeadStr"]/div/div[1]/div[3]/div[1]').text

# => アクセス情報【使用中のIPアドレス確認】
# =>
# =>
# => 111.111.142.140

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です