4

jQueryメソッドgetJSONをサーバー側で複製する方法を探しています。私が使用しているサーバーは、コーヒースクリプトで記述された高速フレームワークを備えた node.js サーバーです。

クライアント側のコードは次のとおりです。

# To get the client IP
$.getJSON("http://jsonip.com?callback=?", (data) ->
      # To get more information about that IP
  $.getJSON("http://freegeoip.net/json/" + data.ip, (fulldata) ->
    console.log fulldata))

fulldata 変数は、クライアント IP に関する情報を提供します。

JavaScript クライアント側の使用を避ける必要があるため、同じサーバー側を実行しようとすると、クライアント IP が実行されます。

(req, res) ->
  # To get the client IP
  req.ip

しかし、その後、freegeoip.net サーバーから json の完全なデータを取得する方法がわかりません。

誰か助けて?

4

2 に答える 2

1

Skellyソリューションを使用しました。

だから私はした:

request = require 'request'

(...)

(req, res) ->
  url = 'http://freegeoip.net/json/' + req.ip
  request.get(url, (error, response, body) ->
    if !error 
      console.log body
  )

本文には必要なデータが含まれています。

David Fregoliのネイティブ node.js ソリューションも機能すると確信していますが、Request パッケージは完全かつ簡単に機能します。

彼らの両方に感謝します。

于 2013-05-09T12:40:46.517 に答える
0

私はcoffeescriptに慣れていませんが、httpと呼ばれるNodeのデフォルトライブラリの1つ(サーバーのセットアップに最もよく使用されます)はhttpリクエストを行うことができます

var request = http.request({host: 'jsonip.com', port: 80, path: '?callback=?' , method: 'GET'}, function(res){
    res.on('data', function (chunk) {
        console.log('BODY: ' + chunk);
    });
});
于 2013-05-09T12:43:01.587 に答える