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?
Jawaban:
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
localhost
dan tidak127.0.0.1
).Untuk mengetahui alamat IP desktop Anda:
ipconfig
(Windows) atauifconfig
(Unix)ifconfig | grep "inet " | grep -v 127.0.0.1
hanya akan menghasilkan hal-hal pentinglocalhost
dan127.0.0.1
)Jika ponsel Anda terhubung ke jaringan seluler , maka semuanya akan menjadi lebih sulit.
Baik menjadi hardcore:
<your desktop IP>:<server port number>
Kalau tidak gunakan sesuatu seperti xip.io atau ngrok .
CATATAN :
ifconfig
Perintah 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:Perintah ip di atas dapat disingkat menjadi:
Jika Anda masih lebih suka menggunakan
ifconfig
sebagai bagian dari rutinitas sys admin harian Anda, Anda dapat dengan mudah menginstalnya sebagai bagian darinet-tools
paket.Referensi ada di sini
sumber
Ini sebenarnya cukup sederhana.
localhost
(Saya menggunakan server WAMP untuk Windows)Setelah Anda selesai melakukannya, Anda akan melihat sesuatu seperti berikut:
192.168.43.76
)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:
Jika Anda mengalami masalah, kemungkinan besar ini berkaitan dengan Windows Firewall.
sumber
Pengguna Mac OS X
Saya mencapai ini dengan mengaktifkan manajemen jarak jauh :
System preferences/sharing
Anda akan melihat pesan yang mirip dengan ini:
some.url.com
Di perangkat Android Anda, Anda sekarang dapat pergi ke
some.url.com
, yang didelegasikan kelocalhost
Mac Anda. Anda juga dapat menggunakanifconfig
untuk 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 padalocalhost:9460
saya hanya dapat menulisIni akan memberi saya:
Sekarang saya dapat menjangkau
https://f7c23d14.ngrok.io
sebagai cara untuk melihat dari jauhlocalhost
. Ini bagus untuk berbagi pekerjaan desain atau kemajuan dengan klien.Solusi alternatif dengan
nginx
pass proxyJika Anda menjalankan sesuatu seperti ini melalui
nginx proxy_pass
itu akan memerlukan sedikit lebih banyak tweaker - ini adalah pendekatan hacky, tetapi itu bekerja untuk saya dan saya terbuka untuk saran untuk memperbaikinya:81
untuk sementara waktu80
http://youripaddress:81
Muat ulang dan kunjungi
http://youripaddress:81
sumber
192.168.0.101
tetapi nama host tidak bekerja.Dengan solusi sederhana (hanya akses
laptop_ip_addr:port
dari 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):
adb reverse tcp:4000 tcp:4000
4000
http://localhost:4000/
, dan itu benar-benar akan terhubung ke laptop, bukan perangkat selulerLihat 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:4000
lagi.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:
Ini menghasilkan, di antara beberapa informasi lain, garis seperti
Sekarang, Anda dapat menavigasi ke
http://4cc5ac02.ngrok.io
perangkat apa pun yang terhubung ke Internet, dan URL ini dialihkan kelocalhost:4000
laptop Anda.Perhatikan bahwa selama perintah ngrok berjalan (sampai Anda menekan Ctrl-C ), proyek Anda dilayani secara publik . Semua orang yang memiliki URL dapat melihatnya.
sumber
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.
Buka Control Panel dan pilih Windows Firewall.
Pilih Pengaturan lanjutan dari panel kiri halaman pengaturan Windows Firewall.
Pilih Aturan Masuk dari panel kiri, lalu pilih Aturan Baru.
Pilih Port dan klik Next.
Pilih tombol radio "Port lokal spesifik" dan masukkan 80 sebagai nilai port.
Tetap Biarkan koneksi tidak berubah dan pindah ke langkah berikutnya.
Biarkan opsi Profil tidak berubah dan klik Next.
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.
Klik pada ikon baki server Wamp.
Buka sub menu server Apache.
Pilih httpd.conf.
Temukan bagian konfigurasi ini di file httpd.conf:
Temukan dan ganti '127.0.0.1' dengan 'All', simpan file, dan restart server Wamp Anda.
Langkah 4
Temukan IP jaringan lokal Anda.
Buka prompt perintah.
Ketik dan masukkan
ipconfig
perintah.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.
sumber
# onlineoffline tag - don't remove Order Allow,Deny Allow from all
Pada PC Windows Anda mungkin tidak perlu melakukan apa pun selain mengetahui Alamat IPv4 Anda menggunakan perintah "ipconfig".
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:
sumber
java.io.FileNotFoundException: http://192.168.8.65:8000/app/web/users/
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".
sumber
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
sumber
"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
sumber
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.
Klik pada tombol port fowading, dan atur port acak katakan 3000 ke port yang digunakan laptop Anda katakan 8080.
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"
sumber
Jalankan CMD sebagai administrator
dan pada layar CMD ketik ipconfig dan layar akan muncul dengan teks
seperti foto ini
dan Anda dapat mengakses localhost Anda menggunakan ip ini Anda harus terhubung ke jaringan yang sama dengan PC Anda terhubung
sumber
Anda mungkin meminta server web Anda mendengarkan pada antarmuka loopback Anda dan bukan pada antarmuka jaringan Anda. Tanda-tanda utama dari ini adalah:
127.0.0.1
danlocalhost
(dari localhost atau emulator Android) berfungsi192.168.xxx.xxx
tidak berfungsi, baik dari localhost, LAN, atau WANSaya berbicara lebih banyak tentang mendiagnosis ini dan memperbaikinya dalam jawaban di sini .
sumber
Coba buka file ini:
C:\wamp\bin\apache\Apache2.2.11\conf\httpd.conf
Dan ubah 10.0.2.2 ke alamat IP Anda.
sumber
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"
sumber
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 inet
Ini akan memberi Anda alamat ip yang terlihat seperti192.168.168.46
. Gunakan ini di ponsel cerdas Anda.Semoga ini membantu.
sumber
Saya menggunakan proses ini:
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.
sumber
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: -
sumber
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+r
dan ketikpython
untuk Windows atau$ python --version
terminal mac.Lanjut:
Kemudian cari alamat mesin host Anda di jaringan, saya menggunakan
System Preferences/Sharing
mac untuk menemukannya. Ketuk itu ke perangkat Android Anda dan harus memuat Andaindex.html
dan 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 network
bawahOptions
dan itu akan berfungsi pada sel Anda tanpa masalah.sumber
ngrok memungkinkan Anda menempatkan localhost ke server sementara dan sangat mudah diatur. Saya telah menyediakan beberapa langkah di sini yang dapat ditemukan di tautan:
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.
sumber
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
sumber
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 edit
htttpd.conf
file dan edit untukBolehkan 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.sumber
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:
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.
sumber
Meskipun satu jawaban telah diterima tetapi ini berhasil bagi saya:
ifconfig
di dalam terminal dan mencarinyaen0/en1 -> inet
harus seperti19*.16*.1.4
.) (di windows, gunakan `ipconfig)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.4
port di dalam masukkan port Anda. dan simpan itu.cari
what is my ip
di google chrome, dan dapatkan ip Anda, katakan saja1**.1**.15*.2**
1**.1**.15*.2**:port/
dari perangkat seluler Anda.Sesederhana ini.
sumber
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
ponsel saya ip di baris di bawah ini
Orang dapat memperluas ini untuk memasukkan seluruh sub domain juga untuk misalnya 192.168.1.0/24 dll
sumber
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.ipconfig
cmdsumber
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 share
perintah. Jika Anda mengembangkan teknologi frontend dan perlu berbagi port seperti 3000 maka gunakan ngrok secara langsungngrok http 3000
sumber
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.
sumber
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.
sumber
gunakan
connectify
danxampp
atau setara, dan ketik alamat ip pada bilah URL seluler untuk mengaksessumber
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.
sumber