2014-01-25 86 views
0

我想構建一個android應用程序,以REST服務的身份從JSON獲取數據。本地主機上的HttpGet連接失敗

我正在使用PC,windows,eclipse和android模擬器。

在下面的這個函數中。如果我使用在互聯網上的網址,那麼它可以很好地工作。

HttpGet httpGet = new HttpGet("http://www.cheesejedi.com/rest_services/get_big_cheese.php?puzzle=1"); 

,但如果我使用的是在我自己的電腦本地託管(使用視覺工作室)的URL,我得到一個錯誤說「連接如拒絕了。」

HttpGet httpGet = new HttpGet(「http://」+「localhost:50851/Default.aspx」);

如何連接到本地主機? Thnaks


protected String doInBackground(Void... params) { 
      HttpClient httpClient = new DefaultHttpClient(); 
      HttpContext localContext = new BasicHttpContext(); 
      //HttpGet httpGet = new HttpGet("http://www.cheesejedi.com/rest_services/get_big_cheese.php?puzzle=1"); 
      HttpGet httpGet = new HttpGet("http://" + "localhost:50851/Default.aspx"); 
      // 
      String text = null; 
      try { 
        HttpResponse response = httpClient.execute(httpGet, localContext); 
        HttpEntity entity = response.getEntity(); 
        text = getASCIIContentFromEntity(entity); 
      } catch (Exception e) { 
       return e.getLocalizedMessage(); 
      } 
      return text; 
     } 
+0

轉寄此通過'http:// stackoverflow.com /問題/ 21234768/Android的應用程序 - 網絡錯誤失敗的連接型/ 21234855#21234855' –

+0

使用10.0.0.2而不是localhost。 – Aravin

+0

由於您的Android模擬器正在虛擬機(QEMU)上運行,並且無法連接到直接在PC上運行的服務器。 – Aravin

回答

0

在你的電腦,打開命令行,輸入窗口IPCONFIG(Linux的使用ifconfig)你可以看到你的IP地址。

Example: 192.168.0.111 

Change **localhost** by **192.168.0.111** 

本地主機只是在計算機上,它在設備/模擬器運行時,是不是在您的手機

0

不能使用本地主機。 在這種情況下,請求將被轉發到設備的回送接口。 只要改變本地主機與PC的IP你

HttpGet httpGet = new HttpGet("http://" + "your.computer.ip:50851/Default.aspx"); 
相關問題