android httpclient 호스트 가 해결 되 지 않 은 오류 해결 방안 입 니 다.
독자 가 먼저 이 문장 을 읽 을 수 있다 http://blog.csdn.net/dropWater_yjqbll/archive/2010/12/16/6079531.aspx
연결 이 되 지 않 는 주요 원인 은 우리 의 휴대 전 화 는 모두 이동 이나 연결 대 리 를 통 해 나 가 라 는 요청 이기 때문에 직접 보 낼 수 없다 는 것 이다.
자신 이 쓴 종 류 는 다음 과 같다.
public static String request(int netType, String host, String url,
int method, List<NameValuePair> pamrams) {
if(netType==HttpUtil.WAP_INT){ //wap
HttpRequestBase request = null;
String strReust = null;
try { //wap
// http://klmu.v228.10000net.cn/publicbicycle klmu.v228.10000net.cn
HttpHost target = new HttpHost(getHostStr(host),Integer.parseInt(getPort(host)));
if (method == 0) {
request = new HttpPost(getUrl(host,url));
if (pamrams != null) {
((HttpPost) request).setEntity(new UrlEncodedFormEntity(
pamrams, HTTP.UTF_8));
}
} else if (method == 1) {
request = new HttpGet(url);
}
// HttpClient
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpHost proxy = new HttpHost("10.0.0.172", 80);
httpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY,
proxy);
HttpResponse httpResponse = httpClient.execute(target, request);
if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
strReust = EntityUtils.toString(httpResponse.getEntity());
} else {
strReust = HTTPERROR_Start + " httpCode: "+ httpResponse.getStatusLine().getStatusCode() + HTTPERROR_END;
}
httpClient.getConnectionManager().shutdown();
} catch (Exception e) {
strReust = HTTPERROR_Start + e.getMessage() + HTTPERROR_END;
}
return strReust;
} else if(netType==HttpUtil.WIFI_INT){ //wifi
url = host+url;
HttpRequestBase request = null;
String strReust = null;
try {
if (method == 0) {
request = new HttpPost(url);
if (pamrams != null) {
((HttpPost) request).setEntity(new UrlEncodedFormEntity(
pamrams, HTTP.UTF_8));
}
} else if (method == 1) {
request = new HttpGet(url);
}
//
// HttpParams httpParams = new BasicHttpParams();
// HttpConnectionParams.setConnectionTimeout(httpParams, 500);
// HttpConnectionParams.setSoTimeout(httpParams, 60 * 1000);
// HttpClient
//HttpClient httpClient = new DefaultHttpClient(httpParams);
HttpClient httpClient = new DefaultHttpClient();
HttpResponse httpResponse = httpClient.execute(request);
if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
strReust = EntityUtils.toString(httpResponse.getEntity());
} else {
strReust = HTTPERROR_Start + " httpCode: "+ httpResponse.getStatusLine().getStatusCode()+ HTTPERROR_END;
}
httpClient.getConnectionManager().shutdown();
} catch (Exception e) {
strReust = HTTPERROR_Start + e.getMessage() + HTTPERROR_END;
}
return strReust;
} else {
return HTTPERROR_Start + " !" + HTTPERROR_END;
}
}
*
* 1:wifi
* 2:wap
* 3:
* @since May 10, 2011
* @param conn
* @return <Description>
*
*/
ublic static int getNetType(Context ctx) {
ConnectivityManager conn = (ConnectivityManager)ctx.getSystemService(Context.CONNECTIVITY_SERVICE);
if (conn == null){
return HttpUtil.NONET_INT;
}
NetworkInfo info = conn.getActiveNetworkInfo();
if (info == null){
return HttpUtil.NONET_INT;
}
String type = info.getTypeName();//MOBILE(GPRS);WIFI
Log.v("tag", "NetworkType=" + type);
if (type.equals("WIFI")) {
return HttpUtil.WIFI_INT;
} else {//if (type.equals("MOBILE")) {
return HttpUtil.WAP_INT;
}
이동 하 는 카드 를 사용 하기 때문에 HttpHost proxy = new HttpHost ("10.0.0.172", 80);이것 은 죽 었 습 니 다. 여 기 는 apn 안의 데 이 터 를 가 져 와 야 합 니 다. 마치 이동 과 연결 이 모두 같은 것 같 습 니 다.모두 이 대리 주소 입 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.