私はJSON応答を持つGETメソッドを使用してwebserviceをヒットしようとしています。アンドロイドを介して接続を拒否する例外をスローしています。私はブラウザ上のURLをヒットしてレスポンスを得ることができますが、レスポンスを取得するには約30秒かかります。私のアプリケーションを実行すると、応答を待機し、接続をスローして例外を拒否しました。助けてください。HttpHostConnectException:接続が拒否されました
(クリック時法からなる)Login.java
class Login{
login.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
pro.setVisibility(View.VISIBLE);
new ExecuteTask().execute();
/* do{
pro.setVisibility(View.VISIBLE);
}while (response=resp())*/
/* if(response.contains("name")){
startActivity(new Intent(Login.this,Tab.class));
overridePendingTransition(R.anim.enter, R.anim.exit);
}
else if(response.contains("errorMessages")){
showPopUp();
}
else if(response.contains("<html>")||response.contains("site can't be reached")){
showerrorPopUp();
}
else{
showerrorPopUp();
}*/
}
});
RESP()メソッド
public class ExecuteTask extends AsyncTask<String,Integer,String>{
@Override
protected String doInBackground(String... params) {
System.out.println("into async task");
String res=resp();
System.out.println("into execute task"+ res);
return res;
}
@Override
protected void onPostExecute(String result) {
pro.setVisibility(View.GONE);
//progess_msz.setVisibility(View.GONE);
}
}
RESP()メソッドを呼び出して非同期タスク : 私HTTP接続コードで構成されています。 public String resp(){ System.out.println( "resp strt");
System.out.println("into resp");
HttpClient httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(append(URL));
try {
HttpEntity httpEntity = httpClient.execute(httpGet).getEntity();
if (httpEntity != null) {
InputStream inputStream = httpEntity.getContent();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
final StringBuilder stringBuilder = new StringBuilder();
String cen = null;
while ((cen = bufferedReader.readLine()) != null) {
/* Intent intent=new Intent(Login.this,MainActivity.class);
startActivity(intent);*/
stringBuilder.append(cen + "n");
}
inputStream.close();
resp = stringBuilder.toString();
/*text.setText(resp);*/
System.out.println("response" + resp);
}
} catch (ClientProtocolException e) {
Toast.makeText(Login.this, e.toString(), Toast.LENGTH_LONG);
} catch (IOException e) {
e.printStackTrace();
Toast.makeText(Login.this, e.toString(), Toast.LENGTH_LONG);
}
System.out.println("resp end");
return resp;
}
のappend()メソッド
public String append(String url){
url+=userName.getText().toString()+"/"+ password.getText().toString();
System.out.println("username"+userName.getText().toString());
return url;
}
**error**
W/System.err: org.apache.http.conn.HttpHostConnectException: Connection to http://180.211.68.232:8080 refused
W/System.err: at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:193)
W/System.err: at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:169)
W/System.err: at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:124)
W/System.err: at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:366)
W/System.err: at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:560)
W/System.err: at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:492)
W/System.err: at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:470)
W/System.err: at hello.com.navigationdrawer.Login.resp(Login.java:156)
W/System.err: at hello.com.navigationdrawer.Login$ExecuteTask.doInBackground(Login.java:248)
W/System.err: at hello.com.navigationdrawer.Login$ExecuteTask.doInBackground(Login.java:242)
W/System.err: at android.os.AsyncTask$2.call(AsyncTask.java:295)
W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
W/System.err: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
W/System.err: at java.lang.Thread.run(Thread.java:818)
W/System.err: Caused by: java.net.ConnectException: failed to connect to /180.211.68.232 (port 8080): connect failed: ETIMEDOUT (Connection timed out)
W/System.err: at libcore.io.IoBridge.connect(IoBridge.java:124)
W/System.err: at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:183)
W/System.err: at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:452)
W/System.err: at java.net.Socket.connect(Socket.java:884)
W/System.err: at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:124)
W/System.err: at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:149)
W/System.err: ... 15 more
W/System.err: Caused by: android.system.ErrnoException: connect failed: ETIMEDOUT (Connection timed out)
W/System.err: at libcore.io.Posix.connect(Native Method)
W/System.err: at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:111)
W/System.err: at libcore.io.IoBridge.connectErrno(IoBridge.java:137)
W/System.err: at libcore.io.IoBridge.connect(IoBridge.java:122)
W/System.err: ... 20 more
URL 最終文字列URL = "http://180.211.68.232:8080/JIRAservice-1.0-SNAPSHOT/rest/login/"。
バレーライブラリーを使用してください。 –
通常の方法でテキストを投稿してください。コードブロックにはありません。あなたの問題を読むためにスクロールしないでください。 – greenapps