Bagaimana saya bisa mengakses localhost saya dari perangkat Android saya?

543

Saya dapat mengakses server web laptop saya menggunakan emulator Android, saya menggunakan 10.0.2.2:portno berfungsi dengan baik.

Tetapi ketika saya menghubungkan ponsel Android asli saya, browser ponsel tidak dapat terhubung ke server web yang sama pada laptop saya. Ponsel terhubung ke laptop menggunakan kabel USB. Jika saya menjalankan perintah perangkat adb, saya dapat melihat telepon saya.

Apa yang saya lewatkan?

Gat
sumber
3
coba ini: stackoverflow.com/a/17603378/1600061
Zsivics Sanel
Lihat dokumentasi di sini: developer.android.com/tools/devices/…
Henry Aloni
3
Matikan firewall saat menguji halaman web Anda atau tambahkan ip Anda ke jaringan tepercaya dalam pengaturan firewall.
zeeali
souper ez with ngrok
JonPizza

Jawaban:

403

USB tidak menyediakan jaringan ke perangkat seluler.

Jika desktop dan ponsel Anda terhubung ke WiFi yang sama (atau jaringan lokal lainnya), maka gunakan alamat IP desktop Anda yang ditetapkan oleh router (tidak localhostdan tidak 127.0.0.1).

Untuk mengetahui alamat IP desktop Anda:

  • ketik ke dalam baris perintah ipconfig(Windows) atau ifconfig(Unix)
    • di Linux, one-liner ifconfig | grep "inet " | grep -v 127.0.0.1hanya akan menghasilkan hal-hal penting
    • ada banyak saran tentang cara memiliki output yang serupa di Windows
  • akan ada banyak IP
  • coba semuanya (kecuali yang disebutkan sebelumnya localhostdan 127.0.0.1)

Jika ponsel Anda terhubung ke jaringan seluler , maka semuanya akan menjadi lebih sulit.

Baik menjadi hardcore:

  • pertama-tama cari tahu alamat IP eksternal router Anda ( https://www.google.de/search?q=myip )
  • kemudian, pada router, teruskan beberapa port ke <your desktop IP>:<server port number>
  • akhirnya gunakan alamat IP eksternal dan port penerusan

Kalau tidak gunakan sesuatu seperti xip.io atau ngrok .

CATATAN : ifconfigPerintah telah usang dan karenanya hilang secara default di Debian Linux, mulai dari peregangan Debian. Alternatif baru dan yang direkomendasikan untuk memeriksa konfigurasi jaringan pada Debian Linux adalah perintah ip. Misalnya untuk menggunakan perintah ip untuk menampilkan konfigurasi jaringan jalankan yang berikut:

ip address

Perintah ip di atas dapat disingkat menjadi:

ip a

Jika Anda masih lebih suka menggunakan ifconfigsebagai bagian dari rutinitas sys admin harian Anda, Anda dapat dengan mudah menginstalnya sebagai bagian dari net-toolspaket.

apt-get install net-tools

Referensi ada di sini

Elijah Saounkine
sumber
Terima kasih, ini sangat membantu saya. Masalahnya bagi saya adalah bahwa saya tidak tahu bahwa server apache lokal dapat diatasi melalui ip 10.0.2.2. ... Saya mencoba banyak alamat ip lainnya, seperti yang ditunjukkan oleh ipconfig dll. Tetapi sekali lagi, terima kasih banyak!
Vidar Vestnes
4
Saya tidak mengerti solusi masalah ini. Bisakah Anda membantu saya tentang bagaimana telepon saya dapat mengakses server saya? Saya harap Anda menyempurnakan solusi ini untuk saya. Terima kasih.
iremce
1
Baca komentar saya di bawah ini .. Anda juga harus memiliki izin akses internet. <menggunakan-izin android: name = "android.permission.INTERNET" />
Sanjay Kumar
3
@simo buka beranda router Anda, 10.0.0.1 untuk XFinity, biasanya 192.168.1.1 dan masuk, cari Perangkat yang Terhubung atau IP Lokal, temukan komputer Anda dan bam. Milik saya adalah 10.0.0. #, Lalu tambahkan [10.0.0. # :( port) / Server / Servlet] atau apa pun
jp093121
2
Ini seharusnya bukan jawaban yang diterima untuk pertanyaan ini. Penerusan port di devtools Chrome dan adb reverse berfungsi dengan baik dengan kabel USB.
Roger Madsen
229

Ini sebenarnya cukup sederhana.

  • Nyalakan WiFi Hotspot dari ponsel / router Android Anda dan sambungkan Laptop Anda ke ponsel Anda
  • Mulai server Anda di localhost (Saya menggunakan server WAMP untuk Windows)
  • Sekarang buka command prompt dan masukkan
ipconfig

Setelah Anda selesai melakukannya, Anda akan melihat sesuatu seperti berikut:

Adaptor LAN Nirkabel Koneksi Jaringan Nirkabel:
  Sufiks DNS khusus sambungan. :
  Tautan Alamat IPv6-lokal. . . . . : fe80 :: 80bc: e378: 19ab: e448% 11
  Alamat IPv4. . . . . . . . . . . : 192.168.43.76
  Subnetmask . . . . . . . . . . . : 255.255.255.0
  Gateway Default. . . . . . . . . : 192.168.43.1
  • Salin Alamat IPv4 (dalam hal ini, itu adalah 192.168.43.76)
  • Di browser seluler Anda, cukup tempel alamat IPv4

Catatan: Silakan setel jaringan Anda sebagai " Jaringan Asal ". Menyetel jaringan sebagai Jaringan Rumah berarti Anda mengizinkan PC Anda untuk berbagi barang dengan perangkat lain di jaringan yang sama.

Jika Anda menggunakan Windows 10, ini bisa dilakukan dengan yang berikut:

  • Buka Pengaturan
  • Buka Jaringan & Internet
  • Pilih WiFi di menu sebelah kiri
  • Ketuk nama WiFi yang terhubung
  • Atur Profil Jaringan dari jaringan menjadi Pribadi

Jika Anda mengalami masalah, kemungkinan besar ini berkaitan dengan Windows Firewall.

  • Buka Panel Kontrol
  • Pergi ke Windows Defender Firewall
  • Ketuk pada Izinkan aplikasi atau fitur melalui Windows Defender Firewall
  • Periksa apakah aplikasi diaktifkan untuk jaringan pribadi (harus ada tanda centang)
  • Jika tidak diaktifkan, ketuk Ubah pengaturan dan centang kotak centang di bawah Pribadi untuk aplikasi
Dhiral Pandya
sumber
30
hm melakukan ini tetapi browser sepertinya butuh selamanya untuk memuat maka itu memberi saya oops? apakah saya melakukan sesuatu yang salah? Dan apa yang Anda maksud dengan jaringan rumah
Lion789
12
Harap ingat untuk mematikan firewall di komputer juga.
Minh Nguyen
2
Yap, mematikan firewall membantu. Terima kasih.
Beemo
2
* Jaringan asal ((Jaringan rumah berarti komputer Anda, saya boleh berbagi barang dengan perangkat dari jaringan yang sama.
Leap Hawk,
6
"Ketuk pada Izinkan aplikasi atau fitur melalui Windows Defender Firewall Periksa apakah aplikasi ini diaktifkan untuk jaringan pribadi (harus ada tanda centang)" Apa aplikasi yang Anda maksud?
Liz Lamperouge
71

Pengguna Mac OS X

Saya mencapai ini dengan mengaktifkan manajemen jarak jauh :

  • Pastikan ponsel dan laptop Anda terhubung ke jaringan WiFi yang sama
  • Di Mac, buka System preferences/sharing
  • Aktifkan manajemen jarak jauh

Anda akan melihat pesan yang mirip dengan ini:

  • Pengguna lain dapat mengelola komputer Anda menggunakan alamat tersebut some.url.com

Di perangkat Android Anda, Anda sekarang dapat pergi ke some.url.com, yang didelegasikan ke localhostMac Anda. Anda juga dapat menggunakan ifconfiguntuk mendapatkan alamat IP Mac Anda.


Solusi portabel dengan ngrok(semua OS dengan Node.js)

Jika Anda tidak keberatan mengekspos proyek Anda dengan domain sementara yang dapat Anda gunakan ngrok. Katakanlah saya memiliki aplikasi yang berjalan pada localhost:9460saya hanya dapat menulis

npm install ngrok -g

ngrok http 9460

Ini akan memberi saya:

Status Sesi online
Pembaruan pembaruan tersedia (versi 2.2.8, Ctrl-U untuk memperbarui)
Versi 2.2.3
Wilayah Amerika Serikat (AS)
Antarmuka Web http://127.0.0.1:4040
Penerusan http://f7c23d14.ngrok.io -> localhost: 9460
Penerusan https://f7c23d14.ngrok.io -> localhost: 9460

Koneksi ttl opn rt1 rt5 p50 p90
                              0 0 0,00 0,00 0,00 0,00

Sekarang saya dapat menjangkau https://f7c23d14.ngrok.iosebagai cara untuk melihat dari jauh localhost. Ini bagus untuk berbagi pekerjaan desain atau kemajuan dengan klien.


Solusi alternatif dengan nginxpass proxy

Jika Anda menjalankan sesuatu seperti ini melalui nginx proxy_passitu akan memerlukan sedikit lebih banyak tweaker - ini adalah pendekatan hacky, tetapi itu bekerja untuk saya dan saya terbuka untuk saran untuk memperbaikinya:

  • Aktifkan manajemen jarak jauh (seperti yang disebutkan di atas)
  • Tetapkan server untuk mendengarkan pada port 81untuk sementara waktu80
  • Ketik perintah berikut:
sudo nginx -s reload
  • Mengunjungi http://youripaddress:81
server {
  listen 80;
  listen 81;   # <-------- add this to expose the app on a unique port
  server_name  ~^(local|local\.m).example.com$;
  # ...
}

Muat ulang dan kunjungi http://youripaddress:81

lfender6445
sumber
2
Jika Anda menggunakan pengaturan 'manajemen jarak jauh' ini hal lain yang perlu Anda ketahui adalah jika Anda memiliki banyak server alias yang berjalan di mamp, perangkat seluler Anda (terhubung melalui usb) hanya akan memberi Anda akses ke <VirtualHost> pertama yaitu didefinisikan dalam httpd-vhosts.conf jadi hanya memindahkan proyek Anda saat ini ke atas daftar
DrewT
Saya mengaktifkan manajemen jarak jauh pada mac saya seperti yang Anda katakan, dan saya diberi satu set kotak centang untuk berbagai cara agar komputer saya dapat dikelola dari jarak jauh. Saya meninggalkan mereka semua tanpa centang kecuali Mengamati, dan itu bekerja dengan baik untuk saya. Server web saya berjalan di mac saya di port localhost 5555, dan saya melihat "pengguna lain dapat mengelola komputer Anda menggunakan alamat 10.0.0.12," jadi di browser ponsel saya mengetik 10.0.0.12.125555 dan melihat halaman web saya.
Marcus
Berhasil ketika menggunakan IP 192.168.0.101tetapi nama host tidak bekerja.
Krishnadas PC
6
Di Mac, cukup ALT + klik Wi-Fi di bilah menu Anda untuk mendapatkan alamat IP Anda.
matharden
Saya menonaktifkan firewall saya tetapi masih menunjukkan koneksi menolak, ada ide bagaimana membuatnya bekerja?
Unnikrishnan
67

Dengan solusi sederhana (hanya akses laptop_ip_addr:portdari perangkat seluler, saat seluler dan laptop menggunakan WiFi yang sama), saya mendapatkan kesalahan ERR_CONNECTION_REFUSED . Artinya, MacBook saya tampaknya menolak upaya koneksi dari ponsel saya.


Socket Balik ADB (khusus Android)

Solusi ini berfungsi untuk saya (diuji dengan MacBook):

  1. Hubungkan perangkat seluler Android dengan kabel USB ke laptop
  2. Aktifkan USB Debugging pada perangkat seluler
  3. Di laptop, jalankan adb reverse tcp:4000 tcp:4000
    • Gunakan nomor port khusus Anda alih-alih 4000
  4. Sekarang, pada perangkat seluler, Anda dapat menavigasi ke http://localhost:4000/, dan itu benar-benar akan terhubung ke laptop, bukan perangkat seluler

Lihat instruksi di sini .

Kelemahannya adalah ini hanya berfungsi dengan satu perangkat seluler pada satu waktu . Jika Anda ingin mengakses dengan perangkat seluler lain, Anda harus terlebih dahulu melepaskan yang pertama (menonaktifkan USB Debugging ), menghubungkan yang baru (mengaktifkan USB Debugging ), dan jalankan adb reverse tcp:4000 tcp:4000lagi.


ngrok (berfungsi dengan semua perangkat)

Solusi lain yang harus selalu berhasil adalah ngrok (seperti yang disebutkan dalam jawaban lain). Ini berfungsi melalui Internet, dan bukan jaringan lokal.

Ini sangat mudah digunakan:

brew cask install ngrok
ngrok http 4000

Ini menghasilkan, di antara beberapa informasi lain, garis seperti

Forwarding                    http://4cc5ac02.ngrok.io -> localhost:4000

Sekarang, Anda dapat menavigasi ke http://4cc5ac02.ngrok.ioperangkat apa pun yang terhubung ke Internet, dan URL ini dialihkan ke localhost:4000laptop Anda.

Perhatikan bahwa selama perintah ngrok berjalan (sampai Anda menekan Ctrl-C ), proyek Anda dilayani secara publik . Semua orang yang memiliki URL dapat melihatnya.

weibeld
sumber
2
kamu menyelamatkan hidupku Bung
To
Terima kasih. Anda banyak membantu saya. Saya menggunakan adb reverse hanya mengganti 4000 port ke 3000 dan itu berfungsi seperti yang saya butuhkan.
Marcus Crisostomo
Sialan itu akhirnya berhasil, terima kasih!
Alex
38

Saya menemukan solusi cepat untuk masalah ini. Coba tautan ini . Ini akan membantu Anda memperbaiki masalah.

Saya hanya mengubah satu hal, di mana tutorial menyatakan Anda mengubah '127.0.0.1' menjadi 'Semua', ubahlah ke alamat IP yang dijalankan oleh server Anda.

Setelah itu, Anda harus dapat terhubung ke localhost Anda.


Di bawah ini adalah salinan (mengoreksi) informasi dari halaman yang ditautkan:

Langkah 1

Instal server Wamp (atau yang lain yang Anda inginkan).

Ini adalah salah satu server terbaik yang saya tahu mengatur server lokal. Jika Anda telah menginstal Apache atau server lain, abaikan langkah ini.

Unduh dan instal Wamp Server dari sini.

Langkah 2

Tambahkan aturan baru untuk port 80 di Windows Firewall.

  1. Buka Control Panel dan pilih Windows Firewall.

  2. Pilih Pengaturan lanjutan dari panel kiri halaman pengaturan Windows Firewall.

  3. Pilih Aturan Masuk dari panel kiri, lalu pilih Aturan Baru.

  4. Pilih Port dan klik Next.

  5. Pilih tombol radio "Port lokal spesifik" dan masukkan 80 sebagai nilai port.

  6. Tetap Biarkan koneksi tidak berubah dan pindah ke langkah berikutnya.

  7. Biarkan opsi Profil tidak berubah dan klik Next.

  8. Berikan nama yang bagus untuk aturan baru Anda dan klik Selesai.

Ini akan memungkinkan akses port 80 pada IP jaringan lokal.

Langkah 3

Edit file httpd.conf dari server Wamp untuk memperbaiki kesalahan 403.

Kita perlu mengedit file ini. Kalau tidak, kita akan mendapatkan kesalahan terlarang 403 ketika kita mengakses localhost melalui IP jaringan lokal.

  1. Klik pada ikon baki server Wamp.

  2. Buka sub menu server Apache.

  3. Pilih httpd.conf.

  4. Temukan bagian konfigurasi ini di file httpd.conf:

    Directory c:/wamp/www/”
    #
    # Possible values for the Options directive are “None”, “All”,
    # or any combination of:
    # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that “MultiViews” must be named *explicitly* — “Options All”
    # doesn’t give it to you.
    #
    # The Options directive is both complicated and important. Please see
    # http://httpd.apache.org/docs/2.2/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks
    
    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be “All”, “None”, or any combination of the keywords:
    # Options FileInfo AuthConfig Limit
    #
    AllowOverride all
    
    #
    # Controls who can get stuff from this server.
    #
    
    # onlineoffline tag – don’t remove
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1

Temukan dan ganti '127.0.0.1' dengan 'All', simpan file, dan restart server Wamp Anda.

Langkah 4

Temukan IP jaringan lokal Anda.

  1. Buka prompt perintah.

  2. Ketik dan masukkan ipconfigperintah.

  3. Dalam kasus saya, alamat jaringan area lokal saya adalah 10.0.0.2.

Ini adalah IP yang Anda butuhkan untuk mengakses localhost di ponsel Android Anda melalui wifi. Untuk menguji apakah itu berfungsi, ketik alamat IP ini di browser desktop Anda di mana server host lokal Anda diinstal. Browser harus menampilkan halaman host lokal Anda dengan sukses. Ini akan memastikan bahwa IP jaringan lokal ini sekarang berhasil diakses di ponsel Android Anda.

Saya harap tutorial ini akan membantu Anda untuk mengakses localhost Anda melalui wifi.

GertV
sumber
Terima kasih! ini bekerja sangat mudah. hanya satu hal; Saya meninggalkan httpd.conf sebagai# onlineoffline tag - don't remove Order Allow,Deny Allow from all
numediaweb
1
tutorial berbasis windows? wut?
abbood
1
tautan tidak berfungsi lagi sehingga seluruh jawaban tidak berguna sekarang karena informasi belum ditambahkan ke SO tentang cara melakukannya.
rtack
Untuk Wamp server v3, saya mendapatkan kesalahan terlarang. Lihat jawaban ini stackoverflow.com/questions/23382627/… tentang cara mengubah info vhosts (jangan edit file httpd.conf seperti yang ditunjukkan di atas)
friek108
Ini adalah versi Wamp yang benar-benar tua, file konfigurasi agak lebih rumit sekarang. Apalagi jika Anda menggunakan fitur VHosts. Saya tidak bisa mengetahuinya, terlalu banyak lapisan overrrides.
Jonathan
37

Pada PC Windows Anda mungkin tidak perlu melakukan apa pun selain mengetahui Alamat IPv4 Anda menggunakan perintah "ipconfig".

  • Langkah 1: Hubungkan telepon Anda ke PC menggunakan kabel USB.
  • Langkah 2: Gunakan perintah 'ipconfig' untuk mencari tahu Alamat IPv4 Anda (IP Eksternal dari Router) misalnya 192.168.1.5 dalam kasus saya.
  • Langkah 3: Cukup akses "192.168.1.5:8080" dari browser ponsel Anda. Berhasil !

Rincian Env Lainnya: Windows 7, Google Nexus 4 (4.2.2), Tomcat Server, Aplikasi Grails.

Anda juga harus memastikan bahwa Anda memiliki izin untuk mengakses internet di file AndroidManifest:

<uses-permission android:name="android.permission.INTERNET"/>
Sanjay Kumar
sumber
Saya mencoba tetapi terus mengatakan bahwa "Sambungan menolak". Mengapa? :( Apakah port harus 8080? Saat ini, layanan web saya berjalan di port lain.
Triet Doan
2
Saya menggunakan tomcat di port 8080. Anda dapat menambahkan port server Anda sendiri di tempat 8080.
Sanjay Kumar
dan bagaimana dengan webapp? bukan aplikasi asli
amdev
Saya masih tidak memiliki akses ke localhost saya
Anna Leonenko
Saya mencobanya tetapi dikatakanjava.io.FileNotFoundException: http://192.168.8.65:8000/app/web/users/
Moeez
16

Namun ada solusi yang jauh lebih baik. Anda dapat mengakses mesin host Anda dengan alamat IP "10.0.2.2". Ini telah dirancang dengan cara ini oleh tim Android. Jadi server web Anda dapat berjalan dengan sempurna di localhost dan dari aplikasi Android Anda, Anda dapat mengaksesnya melalui "http://10.0.2.2:8080".

Akhil Jain
sumber
4
Itu benar, triknya adalah menentukan alamat ip lokal dari mesin Anda dan mengaksesnya melalui router nirkabel yang terhubung antara perangkat Android Anda dan sistem alias mesin Anda
Akhil Jain
Hebatnya, saya sedang mencari ini, untuk berkomunikasi emulator dengan localhost. Terima kasih!!
Elang
13

Karena ini adalah pertanyaan lama, ada cara baru untuk melakukan ini yang benar-benar sangat sederhana. Unduh Ekstensi Chrome ADB dan kemudian ikuti instruksi ini:

https://developers.google.com/chrome-developer-tools/docs/remote-debugging

Jason
sumber
3
Tidak perlu lagi mengunduh ADB yang sudah tidak digunakan lagi, tetapi buka pengembang.google.com/chrome-developer-tools/docs/… dan ikuti instruksi. Catatan: Saya harus meneruskan port 8443 ke localhost: 8443
Dimitris
apakah ini hanya berfungsi untuk panggilan url dari Chrome di perangkat atau apakah seharusnya berfungsi dari dalam aplikasi saya juga?
Orkun Ozen
3
Ini menempatkan saya di jalur yang benar - jawaban yang lebih baru tentang Chrome Dev Tools dapat ditemukan di sini: Android Chrome Reverse Port Forwarding
Richard Le Mesurier
Saya macet karena saya tidak menginstal google chrome di perangkat saya. Doh!
Chad Bingham
9

"Penerusan porta pada Chrome untuk Android memudahkan untuk menguji situs pengembangan Anda di seluler. Ini berfungsi dengan membuat port TCP yang mendengarkan pada perangkat seluler Anda yang memetakan ke port TCP tertentu pada mesin pengembangan Anda. Lalu lintas antara port ini berjalan melalui USB, jadi koneksi tidak tergantung pada konfigurasi jaringan Anda. "

Lebih detail di sini: https://developer.chrome.com/devtools/docs/remote-debugging#port-forwarding

Daniel
sumber
9

Solusi ini dapat digunakan ketika perangkat seluler dan komputer Anda tidak berada di jaringan yang sama:

Anda perlu menggunakan penerusan port dalam kasus ini. Di jendela pemeriksaan Google chrome (chrome: // inspect) Anda dapat melihat perangkat yang terhubung. masukkan deskripsi gambar di sini

Klik pada tombol port fowading, dan atur port acak katakan 3000 ke port yang digunakan laptop Anda katakan 8080.

masukkan deskripsi gambar di sini

sekarang gunakan localhost: 3000 dari perangkat untuk mengakses localhost: 8080 (or_wh whatever_ip: portno) di laptop. Anda dapat memeriksanya di browser seluler. Coba localhost: 3000 di browser seluler. Pastikan untuk mencentang kotak "Aktifkan penerusan porta" di jendela "Pengaturan penerusan porta"

Ajmal Ansari
sumber
Aku cinta kamu bung! Anda perlu menulis tutorial dengan langkah-langkah ini!
Rafael Gomes Francisco
7

Jalankan CMD sebagai administrator

dan pada layar CMD ketik ipconfig dan layar akan muncul dengan teks

seperti foto ini masukkan deskripsi gambar di sini

dan Anda dapat mengakses localhost Anda menggunakan ip ini Anda harus terhubung ke jaringan yang sama dengan PC Anda terhubung

Youssef Subehi
sumber
matikan saja firewall
SalindaKrish
6

Anda mungkin meminta server web Anda mendengarkan pada antarmuka loopback Anda dan bukan pada antarmuka jaringan Anda. Tanda-tanda utama dari ini adalah:

  • Hit on 127.0.0.1danlocalhost (dari localhost atau emulator Android) berfungsi
  • Hit pada 192.168.xxx.xxxtidak berfungsi, baik dari localhost, LAN, atau WAN

Saya berbicara lebih banyak tentang mendiagnosis ini dan memperbaikinya dalam jawaban di sini .

tidak bersalah
sumber
6

Coba buka file ini: C:\wamp\bin\apache\Apache2.2.11\conf\httpd.conf

#   onlineoffline tag - don't remove
    Order Deny,Allow
    Allow from all // change it Deny
    Allow from 127.0.0.1

Dan ubah 10.0.2.2 ke alamat IP Anda.

bangptit
sumber
maaf ubah untuk mengizinkan formulir semua jika "Deny"
bangptit
Saya menggunakan XAMPP dan video ini memberi saya jawaban untuk membuatnya berfungsi: youtube.com/watch?v=YrA_yN3gySs
Leon
5

akhirnya selesai di Ubuntu, saya menjalankan server nodejs di localhost: 8080

1) buka terminal ketik ifconfig Anda akan mendapatkan ip sesuatu seperti ini: inet addr: 192.168.43.17

2) sekarang cukup cantumkan alamat url seperti ini: "192.168.43.17:8080" (8080 port berasal dari nomor port localhost) mis: "192.168.43.17:8080/fetch"

iamkdblue
sumber
ini hanya berfungsi untuk saya ketika terhubung ke jaringan yang sama. Saya butuh sesuatu yang berfungsi tanpa internet
Geek Guy
5

Gunakan ini di ubuntu / Macbook Anda untuk mendapatkan alamat ip sistem Anda. Ponsel dan sistem Anda harus berada di jaringan yang sama

ip addr | grep inetIni akan memberi Anda alamat ip yang terlihat seperti 192.168.168.46. Gunakan ini di ponsel cerdas Anda.

Semoga ini membantu.

Naveen TP
sumber
4

Saya menggunakan proses ini:

  • Instal Fiddler di PC
  • Siapkan PC dan perangkat Android mengikuti instruksi yang sangat baik ini
  • Cukup buka browser di perangkat Android dan ketik http: //ipv4.fiddler untuk mengakses hosting lokal

Perhatikan bahwa proses ini mengharuskan Anda untuk mengubah pengaturan WiFi di perangkat Android pada awal dan akhir setiap sesi. Saya menemukan ini kurang menyakitkan daripada me-rooting perangkat Android saya.

pengguna3078359
sumber
4

Cara lebih mudah untuk menggunakan localhost adalah dengan menggunakan http: // localhost: port . Ini berfungsi di laptop dan Android juga.

Jika tidak berhasil, maka di android atur IP default ponsel Anda ke 127.0.0.1:port :)

Buka terminal dan ketik: -

 hostname -i
 #127.0.0.1
 hostname -I
 #198.168.*.*
Harry1992
sumber
3

Sedang mengalami masalah ini menggunakan beberapa server host lokal yang berbeda. Akhirnya aplikasi saya aktif dan berjalan di telepon dalam hitungan detik hanya dengan menggunakan server sederhana Python. Hanya perlu beberapa detik sehingga patut dicoba sebelum masuk ke solusi yang lebih rumit. Pertama, pastikan Anda menginstal Python. cmd+rdan ketik pythonuntuk Windows atau $ python --versionterminal mac.

Lanjut:

cd <your project root>

$ python -m SimpleHTTPServer 8000

Kemudian cari alamat mesin host Anda di jaringan, saya menggunakan System Preferences/Sharingmac untuk menemukannya. Ketuk itu ke perangkat Android Anda dan harus memuat Anda index.htmldan Anda harus baik.

Jika tidak maka masalahnya adalah sesuatu yang lain dan Anda mungkin ingin melihat ke beberapa solusi yang disarankan lainnya. Semoga berhasil!

* EDIT *

Solusi cepat lain untuk dicoba jika Anda menggunakan Chrome adalah Server Web untuk ekstensi Chrome. Saya menemukan ini cara cepat dan super mudah untuk mendapatkan akses ke localhost di ponsel saya. Pastikan untuk memeriksa di Accessible to local networkbawah Optionsdan itu akan berfungsi pada sel Anda tanpa masalah.

masukkan deskripsi gambar di sini

mikeym
sumber
Apakah ini akan berfungsi untuk bahasa sisi server lain selain python?
MASh
3

ngrok memungkinkan Anda menempatkan localhost ke server sementara dan sangat mudah diatur. Saya telah menyediakan beberapa langkah di sini yang dapat ditemukan di tautan:

  1. Unduh zip ngrok dari tautan di atas
  2. Buka zip
  3. Jalankan server Anda secara lokal dan catat nomor port
  4. Di terminal, buka folder tempat ngrok tinggal dan ketik ngrok http [port number]

Anda akan melihat dasbor kecil di terminal Anda dengan alamat yang menunjuk ke host lokal Anda. Arahkan aplikasi Anda ke alamat itu dan buat ke perangkat Anda.

Maxwell
sumber
Ini hanya berguna untuk mengakses server secara eksternal. Anda bisa menggunakan alamat ip lokal dari server.
OneCricketeer
3

Pertama-tama hubungkan ponsel dan komputer Anda ke wifi umum.

Kemudian, buka command prompt menggunakan run as administrator

Berikan perintah ipconfig

Yang menunjukkan lan ip nirkabel

Gunakan ip: port server Anda untuk mengakses di telepon

pengguna8246589
sumber
2

Pertama-tama buat mesin Anda (di mana server berjalan) alamat IP statis. Masukkan alamat IP statis ini dalam kode android. Selanjutnya pergi ke antarmuka router wifi Anda dan periksa panel kiri. Anda akan melihat opsi seperti penerusan / penerusan porta. Klik dan teruskan port 80. Sekarang edithtttpd.conf file dan edit untuk

Bolehkan dari Semua

. Mulai ulang server Anda. Semuanya harus berfungsi dengan baik sekarang.

Selain itu Anda dapat memesan alamat IP mesin Anda sehingga selalu dialokasikan untuk Anda. Di panel kiri antarmuka router Anda, temukan DHCP -> Address Reservation, klik di atasnya. Masukkan alamat MAC mesin Anda dan alamat IP yang Anda masukkan dalam kode. Klik simpan. Ini akan memesan alamat IP yang diberikan untuk mesin Anda.

Abhishek Singh
sumber
2

Solusi untuk menghubungkan perangkat seluler saya ke server wamp saya berdasarkan laptop saya:

Pertama, wifi bukan router. Jadi untuk menghubungkan perangkat mobile saya ke server wamp saya berdasarkan localhost di laptop saya, saya perlu router. Saya telah mengunduh dan menginstal router virtual gratis: https://virtualrouter.codeplex.com/

Mengkonfigurasi itu sangat sederhana:

  1. klik kanan pada ikon router virtual di System Tray
  2. klik Konfigurasi router virtual
  3. isi kata sandi
  4. jika koneksi internet Anda ada dalam ethernet, pilih Koneksi bersama: Ethernet
  5. Kemudian nyalakan wifi di laptop dan perangkat Anda
  6. Pada perangkat Anda terhubung ke nama jaringan router virtual

Kemudian Anda dapat terhubung ke laptop Anda melalui perangkat Anda dengan meluncurkan browser dan mengisi alamat IPV4 laptop Anda (untuk menemukannya di windows, ketik cmd: ipconfig, dan temukan alamat ipv4)

Anda akan melihat halaman beranda wamp server Anda.

Fred
sumber
2

Meskipun satu jawaban telah diterima tetapi ini berhasil bagi saya:

  1. Pastikan komputer dan perangkat android Anda berada di jaringan yang sama.
  2. dapatkan alamat ip komputer Anda. (dalam kasus tipe mac ifconfigdi dalam terminal dan mencarinya en0/en1 -> inetharus seperti 19*.16*.1.4.) (di windows, gunakan `ipconfig)
  3. Buka pengaturan ponsel Anda dan pergi ke jaringan-> tekan lama jaringan wifi Anda-> ubah jaringan -> gulir ke bawah ke opsi lanjutan -> pilih manual proxy dan di proxy hostname ketik alamat Anda yaitu 19*.16*.1.4port di dalam masukkan port Anda. dan simpan itu.

  4. cari what is my ipdi google chrome, dan dapatkan ip Anda, katakan saja1**.1**.15*.2**

  5. coba akses 1**.1**.15*.2**:port/dari perangkat seluler Anda.

Sesederhana ini.

semoga sukses
sumber
Anda tidak perlu proxy melalui WiFi dan Anda juga tidak perlu alamat ip eksternal dalam jaringan lokal
OneCricketeer
2

Inilah yang bekerja untuk saya, saya menambahkan baris lain setelah 127.0.0.1 ip untuk menentukan alamat ip jaringan lokal yang tepat (bukan alamat ip publik) dari perangkat yang ingin saya gunakan. Dalam kasus saya Samsung Galaxy S3 saya

Seperti yang disarankan oleh Bangptit, edit file httpd.conf (x menjadi nomor versi): C: \ wamp \ bin \ apache \ Apache2.xx \ conf \ httpd.conf

Cari tag offline online dan tambahkan ip telepon Anda (saya menemukan alamat ip ponsel saya di halaman konfigurasi router saya):

tag onlineoffline - jangan hapus

 Order Deny,Allow
 Deny from all
 Allow from 127.0.0.1

ponsel saya ip di baris di bawah ini

 Allow from 192.168.1.65 
 Allow from ::1
 Allow from localhost

Orang dapat memperluas ini untuk memasukkan seluruh sub domain juga untuk misalnya 192.168.1.0/24 dll

HostMyBus
sumber
2

Cara TERMUDAH (ini berfungsi dengan sempurna bagi saya) adalah dengan meng-host situs Anda secara lokal di 0.0.0.0:<port_no>dan mengaksesnya menggunakan perangkat seluler, gunakan <local_ipv4_address>:<port_no>/<path>di browser.

  • Untuk mengetahui alamat ipv4 lokal Anda, ketikkan ipconfigcmd
  • Setiap perangkat yang terhubung ke jaringan SAMA dapat mengakses url ini.
realpac
sumber
2

Ngrok adalah solusi terbaik. Jika Anda mengembangkan PHP maka saya sarankan menginstal Laravel Valet , Ini memiliki versi MacOS dan Linux, maka Anda dapat menggunakan valet shareperintah. Jika Anda mengembangkan teknologi frontend dan perlu berbagi port seperti 3000 maka gunakan ngrok secara langsungngrok http 3000

Yamen Ashraf
sumber
1

Menambahkan solusi untuk pengembang masa depan.

Salin alamat dari alamat ip Anda. klik kanan pada jaringan Anda -> jaringan dan berbagi-> klik pada koneksi yang saat ini Anda miliki-> detail-> maka alamat di samping alamat ipv4 adalah alamat ip Anda, catat ini di suatu tempat

Pergi ke panel kontrol -> sistem dan keamanan -> windows firewall -> pengaturan lanjutan -> aturan masuk -> aturan baru (ikuti langkah-langkah untuk menambahkan port misalnya 80, sangat mudah diikuti)

letakkan alamat ip yang Anda catat di browser ponsel dan nomor port yang Anda buat aturan untuknya. mis. 192.168.0.2:80 dan wala.

Kemungkinan solusi jika tidak terhubung. klik kanan jaringan-> buka jaringan dan berbagi-> lihat di bawah tampilan koneksi aktif Anda, di bawah nama koneksi Anda pada jenis koneksi dan klik jika itu publik, dan pastikan untuk mengubahnya ke jaringan rumah.

Shuyaib Abdullah
sumber
1

Hal lain yang perlu diperiksa adalah bahwa beberapa router memiliki masalah menjembatani permintaan ketika 2.4G dan 5G diaktifkan dan perangkat berada pada frekuensi yang berbeda. Mencoba menonaktifkan salah satu frekuensi sehingga kedua perangkat terhubung ke antarmuka yang sama.

pengguna1453449
sumber
0

gunakan connectifydan xamppatau setara, dan ketik alamat ip pada bilah URL seluler untuk mengakses

Phaneendra Charyulu Kanduri
sumber
0

Secara pribadi saya tidak bersikeras menggunakan localhost saat menggunakan perangkat, tidak ada solusi mudah.

Mulai saja aktivitas di mana Anda terhubung ke localhost di mana Anda dapat menggunakan emulator. Info apa pun yang Anda dapatkan dari perangkat dapat dibuat dengan mudah dan dapat dikirim ke aktivitas sebagai parameter.

Ahmet Arslan
sumber