2013-10-23 29 views
-1

我實際上在這裏發佈了太多關於連接網站的問題。我很抱歉,夥計們。一切都很好,但我得到了java.net.ConnectException

這裏是我的Json.java

public class Json extends Activity{ 

    TextView tvStatus; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.json); 
     tvStatus = (TextView) findViewById(R.id.tvStatus); 
     new showThat().execute("http://localhost"); 

    } 

    public String readLocalhost() throws ClientProtocolException, IOException 
    { 
     StringBuilder builder = new StringBuilder(); 
     HttpClient client = new DefaultHttpClient(); 
     HttpGet get = new HttpGet("http://localhost"); 
     HttpResponse response = client.execute(get); 
     StatusLine status = response.getStatusLine(); 
     String data = status.toString();  

     return data; 
    } 

    public class showThat extends AsyncTask<String, String, String>{ 


     protected void onPreExecute(String f) { 
      // TODO Auto-generated method stub 
      f = "saffet"; 
     } 

     @Override 
     protected String doInBackground(String... params) { 
      // TODO Auto-generated method stub 
      try { 
       String data = readLocalhost(); 
       return data; 
      } catch (ClientProtocolException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
      return null; 
     } 

     protected void onPostExecute(String result) { 
      tvStatus.setText(result); 
     } 

    } 



} 

我只是想打印狀態。這裏也是logcat!

10-23 14:13:53.276: D/gralloc_goldfish(1429): Emulator without GPU emulation detected. 
10-23 14:13:54.057: W/System.err(1429): org.apache.http.conn.HttpHostConnectException: Connection to http://localhost refused 
10-23 14:13:54.076: W/System.err(1429):  at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:183) 
10-23 14:13:54.076: W/System.err(1429):  at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164) 
10-23 14:13:54.086: W/System.err(1429):  at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119) 
10-23 14:13:54.086: W/System.err(1429):  at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360) 
10-23 14:13:54.086: W/System.err(1429):  at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555) 
10-23 14:13:54.086: W/System.err(1429):  at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487) 
10-23 14:13:54.096: W/System.err(1429):  at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465) 
10-23 14:13:54.096: W/System.err(1429):  at com.example.channel.Json.readLocalhost(Json.java:36) 
10-23 14:13:54.096: W/System.err(1429):  at com.example.channel.Json$showThat.doInBackground(Json.java:55) 
10-23 14:13:54.096: W/System.err(1429):  at com.example.channel.Json$showThat.doInBackground(Json.java:1) 
10-23 14:13:54.096: W/System.err(1429):  at android.os.AsyncTask$2.call(AsyncTask.java:287) 
10-23 14:13:54.106: W/System.err(1429):  at java.util.concurrent.FutureTask.run(FutureTask.java:234) 
10-23 14:13:54.106: W/System.err(1429):  at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 
10-23 14:13:54.106: W/System.err(1429):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) 
10-23 14:13:54.106: W/System.err(1429):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) 
10-23 14:13:54.116: W/System.err(1429):  at java.lang.Thread.run(Thread.java:841) 
10-23 14:13:54.116: W/System.err(1429): Caused by: java.net.ConnectException: failed to connect to /127.0.0.1 (port 80): connect failed: ECONNREFUSED (Connection refused) 
10-23 14:13:54.146: W/System.err(1429):  at libcore.io.IoBridge.connect(IoBridge.java:114) 
10-23 14:13:54.146: W/System.err(1429):  at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192) 
10-23 14:13:54.146: W/System.err(1429):  at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459) 
10-23 14:13:54.146: W/System.err(1429):  at java.net.Socket.connect(Socket.java:842) 
10-23 14:13:54.156: W/System.err(1429):  at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:119) 
10-23 14:13:54.156: W/System.err(1429):  at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:144) 
10-23 14:13:54.156: W/System.err(1429):  ... 15 more 
10-23 14:13:54.166: W/System.err(1429): Caused by: libcore.io.ErrnoException: connect failed: ECONNREFUSED (Connection refused) 
10-23 14:13:54.206: D/dalvikvm(1429): GC_FOR_ALLOC freed 134K, 8% free 2886K/3136K, paused 43ms, total 44ms 
10-23 14:13:54.216: W/System.err(1429):  at libcore.io.Posix.connect(Native Method) 
10-23 14:13:54.216: W/System.err(1429):  at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:85) 
10-23 14:13:54.216: W/System.err(1429):  at libcore.io.IoBridge.connectErrno(IoBridge.java:127) 
10-23 14:13:54.216: W/System.err(1429):  at libcore.io.IoBridge.connect(IoBridge.java:112) 
10-23 14:13:54.216: W/System.err(1429):  ... 20 more 

我沒有得到不幸的停止錯誤。但我無法打印狀態。

編輯:我用Xamppp。

+0

WAT?你想從Android訪問本地主機? O.o – NOlivNeto

+0

@ user1372908它可能會廢話。我只是在學習..沒有目的.. –

+0

你確定你的服務器在localhost上監聽端口80嗎? – AsG

回答

1

您無法從您的Android設備(模擬器)訪問本地主機,因爲您的設備上沒有本地主機。您必須使用您的PC的真實IP地址連接到您的網絡服務器。 例如您的IP地址爲192.168.127.1,你必須調用

new showThat().execute("http://192.168.127.1"); 

編輯:有一個在這個thread

乾杯

3

,如果你試圖連接到http://localhost你試圖連接到服務器在Android設備中,所以我想你想要的是連接到在你的電腦上運行的服務器。然後你需要做的是連接到你的電腦的本地IP地址,所以如果你的電腦本地IP是192.168.1.1,你提供的連接URL將是http://192.168.1.1

也要記住你的服務器正在監聽的端口,通常在本地運行的服務器的默認配置是8080或5000.因此,如果您的服務器正在偵聽端口8080並且您的計算機IP爲192.168.1.1,則您應提供的URL將爲http://192.168.1.1:8080

相關問題