簡體   English   中英

URL 使用 Android 模擬器連接到 XAMPP 服務器

[英]URL Connect to XAMPP Server using Android Emulator

我正在編寫一個程序,在該程序中我試圖通過 Android Emulator 將數據存儲到 XAMPP Server 中,但是在將數據插入 XAMPP 時出現錯誤。

錯誤:未知狀態!

我確信我收到了這個錯誤,因為我沒有使用正確的 url 進行連接

請檢查我的以下網址以通過 Android 模擬器連接到 XAMPP 服務器:

   String url = "http://ipaddress/test.php"

我也嘗試過使用我的 IP 地址,但每當我在瀏覽器上瀏覽它時,得到Object Not Found

在 RomPager 服務器上找不到請求的 URL '/test.php'

  String url = "http://127.0.0.1/test.php"

  String url = "http://10.0.2.2/test.php"

注意:我之前測試過我的 php 代碼,它工作正常,所以我的 URL 有問題

我在 PHP 腳本中使用以下行:

$objConnect = mysql_connect("localhost","root","") or die("Cannnot Connect to Database");
    $objDB = mysql_select_db("registration");

127.0.0.1 表示本地主機

使用您的 PC(個人計算機)的 IP 地址。

喜歡:

如果我的電腦的 ip 是:192.168.0.1 那么 URL 是

String url = "http://192.168.0.1/test.php"

您無法鏈接到 localhost (127.0.0.1),因為模擬器有自己的網絡地址和自己的獨立 localhost。 所以

    http://127.0.0.1/

連接到模擬器本身。 除非您運行 android web 服務器,否則您將收到連接被拒絕錯誤。

您可以使用 Android SDK 中的 ADB 將端口從本地 PC 轉發到 Android 設備。 但我認為您無法將端口從 android 設備轉發到 PC。 看adb forward help,不過我相信是另外一個方向。

讓它工作的最簡單方法是使用您的計算機名稱而不是 localhost。 您必須使用可從網絡訪問的真實 IP,您可以使用 ipconfig 找到。 根據您的網絡配置,您可能可以將完整的主機名與域一起使用。 IE。 mycomputer.example.org。 只需從 ipconfig 附加 DNS 后綴並嘗試。

您可能必須重新配置您的 apache 以偵聽外部地址並使用防火牆阻止來自外部的訪問。 如果您在 apache 服務器上使用 127.0.0.1 的虛擬主機,您還必須將其移動到具有另一個地址的虛擬主機。

而且似乎 %SYSTEM%/drivers/etc/hosts 文件不起作用,它必須是名稱 nslookup 才能解決。 如果不經常更改,則使用本地 IP 更容易。 在其他情況下,使用 dyndns :)

查看此https://developer.android.com/studio/run/emulator-networking.html

使用此“10.0.2.2”IP 地址,它等於您的托管設備中的 localhost

Xampp 正在使用 Port: 80 ,如下圖所示。 因此,在 IP 地址下面寫為http://10.0.2.2:80/對我有用。 希望這可以幫助某人。

Xampp

添加到build.gradle

Android{
    useLibrary 'org.apache.http.legacy'
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM