前提・実現したいこと
ZoZoTownへrubyのgemであるMechanizeを用いてスクレピングをします。
その時にNet::HTTPを用いた通信部分でタイムアウトしてしまいます。
MechanizeではなくNet::HTTP単体でもURLへ繋がりません。
発生している問題・エラーメッセージ
Test用のファイルを作成し、Net::HTTPの挙動を確かめることにしました。
testrb
1require 'net/http' 2require 'uri' 3Net::HTTP.get_print URI.parse('http://zozo.jp/')
実行結果
/usr/share/batch/app/batch# ruby test.rb Traceback (most recent call last): 10: from test.rb:3:in `<main>' 9: from /usr/local/lib/ruby/2.5.0/net/http.rb:443:in `get_print' 8: from /usr/local/lib/ruby/2.5.0/net/http.rb:485:in `get_response' 7: from /usr/local/lib/ruby/2.5.0/net/http.rb:609:in `start' 6: from /usr/local/lib/ruby/2.5.0/net/http.rb:909:in `start' 5: from /usr/local/lib/ruby/2.5.0/net/http.rb:920:in `do_start' 4: from /usr/local/lib/ruby/2.5.0/net/http.rb:935:in `connect' 3: from /usr/local/lib/ruby/2.5.0/timeout.rb:103:in `timeout' 2: from /usr/local/lib/ruby/2.5.0/net/http.rb:937:in `block in connect' 1: from /usr/local/lib/ruby/2.5.0/net/http.rb:937:in `open' /usr/local/lib/ruby/2.5.0/net/http.rb:937:in `initialize': execution expired (Net::OpenTimeout)
IPアドレスに変換してもダメでした。
require 'net/http' Net::HTTP.version_1_2 Net::HTTP.get_print('175.111.83.1', '/')
何が原因かわかる方or解決方法を知っていらっしゃる方いらっしゃいますでしょうか?
試したこと
他のサイトでは正しく結果が帰ってきます。
http,httpsを使っている二つのサイトで確認しました。なぜかzozoだけできない形です、、、
'''
http://icttoracon.net/tech-blog/2018/04/08/%E5%95%8F%E9%A1%8C%E8%A7%A3%E8%AA%AC%EF%BC%9Aping%E3%81%AF%E8%BF%94%E3%81%A3%E3%81%A6%E3%81%8F%E3%82%8B%E3%81%AE%E3%81%ABweb%E3%81%8C%E8%A6%8B%E3%82%8C%E3%81%AA%E3%81%84/
もっと基本的なところから確認するためにpingコマンドで通信ができるかを確認しました。そちらの方は正しくできていることを確認しました。
/usr/share/batch/app/batch# ping 175.111.83.1 PING 175.111.83.1 (175.111.83.1) 56(84) bytes of data. 64 bytes from 175.111.83.1: icmp_seq=1 ttl=230 time=5.73 ms 64 bytes from 175.111.83.1: icmp_seq=2 ttl=230 time=5.52 ms 64 bytes from 175.111.83.1: icmp_seq=3 ttl=230 time=5.59 ms 64 bytes from 175.111.83.1: icmp_seq=4 ttl=230 time=5.57 ms 64 bytes from 175.111.83.1: icmp_seq=5 ttl=230 time=5.48 ms 64 bytes from 175.111.83.1: icmp_seq=6 ttl=230 time=5.59 ms
補足情報(FW/ツールのバージョンなど)
ruby -2.5.1
環境としてdocker コンテナ内
で作業を行なっています
コンテナのネットワークの設定かも、、という気もしているのですが、pingが通っているので不明です。
もし何かわかる方いらっしゃいましたら教えていただけると幸いです。。
回答1件
あなたの回答
tips
プレビュー