2017-11-06 13 views
-1

ローカルマシンでソフトウェア(Tally)を実行しています。このソフトウェアはサーバーとして実行できます(http://localhost、ポート番号9000)。このURLを使用してデータをインポートおよびエクスポートするAPI呼び出しを行うことができます。 リモートWebサーバで実行しているアプリケーションから、このlocalserverに対してhttp要求を行うことはできますか。ウェブアプリケーションからlocalhostにアクセス

私は、ウェブサーバからこのようにそれを実行しようとしました:

var request = require('request'); 
var options = { 
    uri: 'http://192.168.0.3:9000', 
    method: 'GET' 
}; 
request(options, function (error, response, body) { 
    if (error) { 
     console.log("Invalid Network Details"); 
    } else { 
     if (response.statusCode == 200) { 
      console.log(body); 
     } else { 
      console.log("Unauthorized Access!!"); 
     } 
    } 
}); 

私はタリーアプリケーションについて知っているが、私の意見ではありません出力「無効なネットワークの詳細」

+0

*無効なネットワークの詳細*は、「エラー」に値がある場合に出力するコードを記述したハードコーディングされた文字列です。それが何を言うのを見るために実際に「エラー」を見てどうですか? – Quentin

+0

"リモートWebサーバで実行しているアプリケーションからこのローカルサーバにhttp要求を行うことはできますか?"それは同じLAN上にありますか? – Quentin

+0

アプリケーションはWebサーバーで実行されています。公開されたAPI呼び出しを使用してローカルコンピュータからサーバーにデータをインポートしたい –

答えて

0

を取得しています、ファイアウォール(およびあなたのWebサーバが別のネットワークにある場合はルータ)に9000ポートを開く必要があります。 アプリケーションでは、リモートWebサーバでhttp://localhostを使用する代わりに、ローカルコンピュータのIP(同じネットワークにある場合)またはローカルコンピュータのパブリックアドレス(コンピュータとWebサーバがオンの場合)を使用する必要があります異なるネットワーク)。

PD。あなたのパブリックアドレスは普通x時間ごとに変わります(1日になるかもしれません)。

+0

私はipaddressを使ってコードを編集しました。コードをチェックできますか? –

+0

は、あなたのローカルマシンと同じネットワーク上のあなたのウェブサーバーですか? ipアドレス '192.168.0.3'でなければ、あなたのispがあなたにローカルマシンのネットワークを割り当てているものを使うべきです(ここではhttp://whatismyipaddress.com/es/mi-ipで見ることができます)。ルータのポートとファイアウォールの前に私が言ったように。 –

0

あなたは、IPアドレスがprivate IPv4 address spaceであることなく、同じLAN

http://192.168.0.3:9000 

を言いました。インターネット経由で(直接)アクセスすることはできません。

(おそらく、ルータのポート転送を設定することによって)サーバーに公開IPアドレスを与え、そのアドレスに要求を送る必要があります。

関連する問題