簡體   English   中英

無法在 android 設備/模擬器的本地主機上發出 http GET 請求

[英]Cannot make http GET request on localhost of the android device/emulator

我已經提出測試申請來調查與 http 請求相關的問題。 這是一個 android 應用程序,我正在向本地主機發出請求:

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
        .url("http://127.0.0.1")
        .build();

try {
    Response response = client.newCall(request).execute();
    Log.v("krv", response.toString());

} catch (Exception e) {
    Log.v("krv", e.toString());
}

作為設備模擬器的結果,我有“java.net.ConnectException:無法連接到/127.0.0.1:80”異常。 對於外部資源(如 google.com)的任何其他請求,一切正常。 我還安裝了 IIS。 操作系統為 Windows 10。

PS 真的是我需要的——能夠在運行 http 服務器的機頂盒設備上發出 http 請求(我有同樣的問題)。 我想這兩個問題都有相似的原因。 你能給我任何建議如何解決/調試我的問題嗎...

127.0.0.1是 localhost 的環回地址。 但是,當您在 android 操作系統中時, localhost127.0.0.1本身就是 android 本身,這不是您的服務器運行的地方。

如果要連接到主機,則需要找出主機(Windows 10)的 IP 地址,並使用該 IP 地址而不是127.0.0.1

請參閱如何找到您當地的 IP 地址

但是,如果要引用運行 Android 仿真器的計算機,請改用 IP 地址10.0.2.2

暫無
暫無

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

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