大家好,我正在创建应用程序,因为我需要将数据发送到服务器,但我得到这个logcat
11-05 12:06:35.838: W/System.err(16635): java.net.SocketTimeoutException
11-05 12:06:35.888: W/System.err(16635): at java.net.PlainSocketImpl.read(PlainSocketImpl.java:492)
11-05 12:06:35.888: W/System.err(16635): at java.net.PlainSocketImpl.access$000(PlainSocketImpl.java:46)
11-05 12:06:35.898: W/System.err(16635): at java.net.PlainSocketImpl$PlainSocketInputStream.read(PlainSocketImpl.java:241)
11-05 12:06:35.898: W/System.err(16635): at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:103)
11-05 12:06:35.898: W/System.err(16635): at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:191)
11-05 12:06:35.898: W/System.err(16635): at org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:82)
11-05 12:06:35.898: W/System.err(16635): at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:174)
11-05 12:06:35.908: W/System.err(16635): at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:180)
11-05 12:06:35.908: W/System.err(16635): at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:235)
11-05 12:06:35.908: W/System.err(16635): at org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:259)
11-05 12:06:35.908: W/System.err(16635): at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:279)
11-05 12:06:35.908: W/System.err(16635): at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:121)
11-05 12:06:35.918: W/System.err(16635): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:428)
11-05 12:06:35.918: W/System.err(16635): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
11-05 12:06:35.918: W/System.err(16635): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:653)
11-05 12:06:35.918: W/System.err(16635): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:627)
11-05 12:06:35.918: W/System.err(16635): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:616)
11-05 12:06:35.928: W/System.err(16635): at com.addonwebsolution.yarg.internet.HttpRequest.postData(HttpRequest.java:86)
11-05 12:06:35.928: W/System.err(16635): at com.addonwebsolution.yarg.internet.AHttpRequest$4.run(AHttpRequest.java:204)
11-05 12:06:35.928: W/System.err(16635): at java.lang.Thread.run(Thread.java:841
)
这是我的班级
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.apache.http.protocol.BasicHttpContext;
import org.apache.http.protocol.HttpContext;
import org.apache.http.util.EntityUtils;
import android.util.Log;
/**
* This class sends your data through GET and POST methods
*
* */
public class HttpRequest {
DefaultHttpClient httpClient;
HttpContext localContext;
private String ret;
HttpResponse response = null;
HttpPost httpPost = null;
HttpGet httpGet = null;
@SuppressWarnings("rawtypes")
Map.Entry me;
@SuppressWarnings("rawtypes")
Iterator i;
public HttpRequest() {
HttpParams myParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(myParams, 50000);
HttpConnectionParams.setSoTimeout(myParams, 50000);
httpClient = new DefaultHttpClient(myParams);
localContext = new BasicHttpContext();
}
public void clearCookies() {
httpClient.getCookieStore().clear();
}
public String sendGet(String url) {
httpGet = new HttpGet(url);
try {
response = httpClient.execute(httpGet);
} catch (Exception e) {
e.printStackTrace();
}
try {
ret = EntityUtils.toString(response.getEntity());
} catch (IOException e) {
Log.e("HttpRequest", "" + e.getMessage());
} catch (Exception e) {
e.printStackTrace();
}
return ret;
}
public String postData(String url, List<NameValuePair> nameValuePairs)
throws Exception {
System.out.println("IN POST DATA>>>>>>>>>>>>>>>>>");
// Getting the response handler for handling the post response
ResponseHandler<String> res = new BasicResponseHandler();
HttpPost postMethod = new HttpPost(url);
// Setting the data that is to be sent
postMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
String response = httpClient.execute(postMethod, res);
return response;
}
}
调用此方法,如
11-05 12:06:35.838: W/System.err(16635): java.net.SocketTimeoutException
11-05 12:06:35.888: W/System.err(16635): at java.net.PlainSocketImpl.read(PlainSocketImpl.java:492)
11-05 12:06:35.888: W/System.err(16635): at java.net.PlainSocketImpl.access$000(PlainSocketImpl.java:46)
11-05 12:06:35.898: W/System.err(16635): at java.net.PlainSocketImpl$PlainSocketInputStream.read(PlainSocketImpl.java:241)
11-05 12:06:35.898: W/System.err(16635): at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:103)
11-05 12:06:35.898: W/System.err(16635): at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:191)
11-05 12:06:35.898: W/System.err(16635): at org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:82)
11-05 12:06:35.898: W/System.err(16635): at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:174)
11-05 12:06:35.908: W/System.err(16635): at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:180)
11-05 12:06:35.908: W/System.err(16635): at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:235)
11-05 12:06:35.908: W/System.err(16635): at org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:259)
11-05 12:06:35.908: W/System.err(16635): at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:279)
11-05 12:06:35.908: W/System.err(16635): at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:121)
11-05 12:06:35.918: W/System.err(16635): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:428)
11-05 12:06:35.918: W/System.err(16635): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
11-05 12:06:35.918: W/System.err(16635): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:653)
11-05 12:06:35.918: W/System.err(16635): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:627)
11-05 12:06:35.918: W/System.err(16635): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:616)
11-05 12:06:35.928: W/System.err(16635): at com.addonwebsolution.yarg.internet.HttpRequest.postData(HttpRequest.java:86)
11-05 12:06:35.928: W/System.err(16635): at com.addonwebsolution.yarg.internet.AHttpRequest$4.run(AHttpRequest.java:204)
11-05 12:06:35.928: W/System.err(16635): at java.lang.Thread.run(Thread.java:841)