質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
IPv6

IPv6は、インターネットプロトコルの一つ。主流となっているIPv4に変わるものとして設計されました。IPアドレスの需要の増大を予見して開発されたもので、従来よりも多くのIPアドレスの作成が可能です。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

1回答

620閲覧

RubyでAPIを経由したIPアドレスの取得

退会済みユーザー

退会済みユーザー

総合スコア0

IPv6

IPv6は、インターネットプロトコルの一つ。主流となっているIPv4に変わるものとして設計されました。IPアドレスの需要の増大を予見して開発されたもので、従来よりも多くのIPアドレスの作成が可能です。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

1グッド

0クリップ

投稿2018/04/12 14:32

RubyでAPIを使って自身のPCのIPアドレスを確認するにはどうしたら良いでしょうか?

次の参考HPにAPIを使ったIPアドレス取得方法がのっていたので試してみましたが、次のようなエラーが出てしました。

参考https://conformist.jp/62/ip%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E6%83%85%E5%A0%B1%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8Bapi/

エラーメッセージ
{"error"=>"NS search failed", "messages"=>[], "is_tor"=>false, "host"=>"155.177.229.35.bc.googleusercontent.com"}

ウェブブラウザで https://desktopd.eu.org/api/ip へアクセスをすると見たい情報が正しく表示されているので、接続先の問題ではないような気がします。
クラウド9というクラウドベースの環境でRubyを使っているので、それがいけないのでしょうか?
RubyでAPIを使って自身のPCのIPアドレスを取得する方法を教えて頂けますと助かります。

宜しくお願いします。

uri = URI.parse("https://desktopd.eu.org") uri.path = '/api/ip' https = Net::HTTP.new(uri.host, uri.port) https.use_ssl = true response = https.get uri.request_uri response_hash = JSON.parse(response.body) puts response_hash
d04062👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

RubyでAPIを使って自身のPCのIPアドレスを確認

こちらのサイトで信頼性の高い簡単な方法がありました。

参考URL
qiita.com/saltheads/items/cc49fcf2af37cb277c4f

require 'socket' def my_address udp = UDPSocket.new # クラスBの先頭アドレス,echoポート 実際にはパケットは送信されない。 udp.connect("128.0.0.0", 7) adrs = Socket.unpack_sockaddr_in(udp.getsockname)[1] udp.close adrs end p my_address

投稿2018/04/13 01:37

kawakawa2018

総合スコア1195

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/04/13 16:09

回答ありがとうございます。 こちらの方法はAPIで外部サーバーへ接続していないので欲しい結果が得られませんでした。 Cloud9を利用しているので、この方法だとプライベートIPが出てきてしまい、おそらくCloud9内で割り当てているものだと思います。ですのでCloud9外に出てIPアドレスを取得する方法を知りたいです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問