首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

程序中透过wap联网方式访问网络

2013-09-07 
程序中通过wap联网方式访问网络用户的联网方式大致有 wap net wifi 三种. 使用android包中提供的函数,Http

程序中通过wap联网方式访问网络
用户的联网方式大致有 wap net wifi 三种. 使用android包中提供的函数,HttpConnection只能使用net和wifi,wap方式无法访问. 

问? 如何让程序可以通过wap访问网络?

[解决办法]

if(bUsingProxy){
conn.setRequestProperty("X-Online-Host", host);
}
conn.setRequestProperty("Accept", "text/plain");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.setRequestProperty("Connection", "Close");
conn.setRequestProperty("Content-Length", String.valueOf(data.length));
conn.connect();

[解决办法]
给个完整的
private void doPost() throws IOException{

StringBuilder builder = new StringBuilder();
builder.append("http://");

if(bUsingProxy){
builder.append(proxy);
}else{
builder.append(host);
}

if(urlpage != null){
builder.append("/" + urlpage);
}

String desturl = builder.toString();
InputStream stream = null; 
HttpURLConnection conn = null;
try{
byte[] data = params.getBytes();

URL url = new URL(desturl);
conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");

conn.setConnectTimeout(connectTimeout);
conn.setReadTimeout(readTimeout);
conn.setDoOutput(true);
conn.setUseCaches(false);
if(bUsingProxy){
conn.setRequestProperty("X-Online-Host", host);
}
conn.setRequestProperty("Accept", "text/plain");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.setRequestProperty("Connection", "Close");
conn.setRequestProperty("Content-Length", String.valueOf(data.length));
conn.connect();

OutputStream outputStream = conn.getOutputStream();
outputStream.write(data);
outputStream.flush();
outputStream.close();

int resp_code = conn.getResponseCode();
Map<String, List<String>> headerMap = conn.getHeaderFields();


listener.action(NetworkListener.RESPONSE_CODE, new Integer(resp_code));

if(resp_code == HttpURLConnection.HTTP_OK){
stream = conn.getInputStream();
if(stream != null){
Log.d("cn.cmcc.t", "GETRESPONSE:" + resp_code);
}
if(mCommand != -1)
listener.action(NetworkListener.RECEIVE_STREAM, new Object[]{new Integer(mCommand),stream});
else
listener.action(NetworkListener.RECEIVE_STREAM, stream);
}

} catch (IOException e) {
e.printStackTrace();
listener.action(NetworkListener.REQUEST_TIMEOUT, null);
} finally{
if(stream != null)
stream.close();
if(conn != null)
conn.disconnect();
}
}


[解决办法]
楼上那样做只能支持移动的cmwap吧 “X-Online-Host”只是移动私有的扩展头吧

热点排行
Bad Request.