web-dev-qa-db-ja.com

Androidタブレットから127.0.0.1:8000にアクセスする方法

私はDjango(Windows 7を搭載した私のPC上)でWebページを開発しています。タブレットPCでいくつかのページをテストする必要があります。 Androidタブレットからのウィンドウ。それは可能ですか?私は自宅の両方のデバイスで同じwifi接続を使用しています。

私はこの問題について、stackoverflowやその他の場所で多くの質問と回答を読みましたが、どれも具体的な解決策をくれませんでした。

Android 4.0.4。

助けてくれてありがとう、ありがとう

19
doniyor

Windowsコマンドプロンプトのipconfigコマンドを使用して、PCのIPアドレスを確認できます。それらがWiFi経由で接続されていると述べたので、ワイヤレスアダプターのIPアドレスを探します。

タブレットも同じWiFiネットワークにあるため、そのアドレスをタブレットのブラウザーに入力するだけで、:8000が追加され、ページが表示されます。

11
bojangler

したがって、いくつかの問題があるようです。ほとんどの回答が回答している質問は、「ローカルネットワーク内の別のサーバーにどのように接続するのですか?」です。 (またはバリアント)。答えは2つあります。コンピュータのIPを直接使用する方法と、コンピュータの名前を使用する方法です(.localを追加する必要がある場合があります)。たとえば、私のコンピュータはxavier.localです。

2番目の問題は、アドレス指定しているように見えて、ネットワーク上の他のコンピューターからrunserverにアクセスできないことです(これがactualの質問です)。その理由は、デフォルトではDjangoのrunserverはそれらを呼び出しているマシンからのリクエストのみを確認するためです。これは、デフォルトの設定では、Windowsからのみサーバーにアクセスできるようにすることを意味します(セキュリティ上の理由から意図的にアクセスしていました)。他のリクエストをリッスンするには、2つのオプションがあります。

runserver 192.168.1.101:8000 
# Only handle requests which are made to the IP address 192.168.1.101

または(これは複数の環境を扱うときに簡単です):

runserver 0.0.0.0:8000 # handle all requests

したがって、IPアドレスが192.168.1.101の場合:

runserver # only requests made on the machine will be handled
runserver 127.0.0.1 # only requests made on the machine will be handled
runserver 192.168.1.101 # handles all requests (unless IP changes)
runserver 192.168.1.100 # does not handle any requests (wrong IP)
runserver 0.0.0.0 # handles all requests (even if the IP changes)

ローカルの開発マシンを扱う場合、0.0.0.0は実際にはセキュリティの問題ではないことに注意することが重要だと思います。外の世界から対処できるマシンで大規模なアプリを操作する場合にのみ、それは重大な問題になります。ポートフォワーディング(私がそうします)がないか、またはそのような不安定なものでない限り、あまり心配する必要はありません。

20
cwallenpoole

このスレッドはかなり前にアクティブでしたが。これは私にとってWindows 10で機能したものです。詳細に投稿します。私のような初心者には役立つかもしれません。

  1. 追加 ALLOWED_HOSTS = ['*'] in Django settings.pyファイル
  2. 実行Django python manage.py 0.0.0.0:YOUR_PORT9595を私のポートとして。
  3. そのポートでのアクセスを許可するファイアウォールを作成します。

    • コントロールパネル-> システムとセキュリティ-> Windows Defender Firewallに移動します。

    • 開く詳細設定インバウンドルールを選択し、それを右クリックして新しいルールを選択します。

    • Portを選択し、次にヒットし、使用したポートを入力します(私の場合は9595)、次にヒット、選択接続を許可
    • 次にもう一度ヒットしてから名前を付け、最後に次にヒットします。
  4. 次に、PCのIPアドレスを見つけます。

    • 管理者としてCommand Promtを開き、ipconfigコマンドを実行します。
    • 複数のIPアドレスが見つかる場合があります。私はwifi経由で接続しているので、ワイヤレスLANアダプターWiFiの下のものを使用しました。私の場合は192.168.0.100
    • ネットワークに再接続すると、このIPが変わる可能性があることに注意してください。そのため、もう一度確認する必要があります。
  5. 同じネットワークに接続されている別のデバイス(PC、モバイル、タブレットなど)からip_address:YOUR_PORT (私の場合 192.168.0.100:9595

    うまくいけば、あなたは行くのが良いでしょう!

6
foysal

127.0.0.1は、大まかに「このデバイス」を意味するループバックアドレスです。お使いのPCとAndroidタブレットは別々のデバイスであるため、それぞれに独自の127.0.0.1があります。つまり、Androidタブ、AndroidデバイスのWebサーバーに接続しようとしていますが、これは必要な操作ではありません。

ただし、Wi-Fi経由で接続できるはずです。ウィンドウボックスでコマンドプロンプトを開き、「ipconfig」を実行します。出力のどこかにあなたのウィンドウボックスのアドレス、おそらく192.168.1.100またはそれに似たものがあるはずです。タブレットは、そのアドレスでte Django serverを表示できるはずです。

5
DevOfZot

両方が同じネットワークに接続されている場合は、Androidアプリに(ネットワーク内の)サーバーのIPアドレスを指定するだけです。

1
smk

マシンのIPアドレスを知る必要があります..両方のマシン(タブレットとコンピューター)が同じネットワークに接続されていることを確認してください

192.168.0.22-マシンのアドレスを言ってください

これを行う :

192.168.0.22:8000-タブレットから

これだよ !!!

1
Manuj Rastogi

私はこの問題に自分自身で苦労しましたが、それが何であるかを理解することができませんでした。それは私のiPhoneで完全に機能したので、問題を調査して迅速な解決策を見つけることにしました。私のローカルマシンはMac OSX 10.10+です。Apacheサーバーを起動するオプションが1つありますが、それは非常に不便です。Androidデバイスで何かをすばやく確認するたびにDocumentRootを変更します。それに加えて、Mac OSX 10.10のa **でDocumentRootを変更するのは面倒です。

使用したい場合:

python -m SimpleHTTPServer

あなたのAndroidでは、これを行います:

Sudo python -m SimpleHTTPServer [ANY PORT YOU WANT, BUT NOT 8000]

これがお役に立てば幸いです。

cheerz-ピット

0
pit tanenbaum

簡単なEasyPHP DevServer 14.1を使用してテストされています。コツは、まずローカルのIPアドレスをApacheサーバーに追加して、それをリッスンすることです。

トレイアイコンを右クリックして、「httpd.config」の「構成」→「Apache」に移動します

# Change this to Listen on specific IP addresses as shown below to 
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 127.0.0.1:80
Listen 192.168.0.201:80  <<-- ADD THIS LINE

次に、コントロールパネルに移動してWindowsファイアウォールを無効にするか、スマートフォン/タブレットのIPアドレスを例外に追加します。

それでおしまい。お役に立てば幸いです。

IPアドレス192.168.0.201は実際のものとは異なる場合があります。 192.168.0.X

0
Tower Jimmy