`
pxq19890719
  • 浏览: 52225 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Android 设置wap请求方式

阅读更多
   公司有个需求,需要在程序启动的时候去请求电信的一个wap网关,获取用户的手机号码,因为之前没有涉及到这块,所以自己就使用了之前普通的http请求方式,结果返回的信息中手机号码字段死活都是null,换了httpClient等各种方式都不可以,后来在网上搜索资料的时候才知道,原来使用普通的http直连的方式是获取不到用户手机号码的,需要设置电信的CTWAP代理才可以,大致代码如下:
/*
       * 发送获取手机号码的请求
       * */
      public static String sendPhoneNumRequest(String imsi,Context context)throws Exception { 
          String result = "";
          String urlStr = "http://xxxxxxxxxxxxxxxx";
          
          Proxy proxy = new Proxy(java.net.Proxy.Type.HTTP, new InetSocketAddress("10.0.0.200",80));//电信CTWAP代理地址是10.0.0.200
          URL url = new URL(urlStr);
          HttpURLConnection conn=(HttpURLConnection) url.openConnection(proxy);

          if (conn == null){
              throw new IOException("URLConnection instance is null");
          }

          conn.setConnectTimeout(30000);// 
          conn.setDoOutput(true); // 发送POST请求必须设置允许输出,表示允许对外输出
          conn.setUseCaches(false); // 不使用Cache
          conn.setRequestMethod("GET");

          conn.setRequestProperty("Accept", "*/*");
          conn.setRequestProperty("Connection", "Keep-Alive");// 维持长连接
          conn.setRequestProperty("Charset", "UTF-8");
          conn.setRequestProperty("Content-Type", "text/xml; charset=UTF-8");
          
          int responseCode = conn.getResponseCode();
          Log.i("IndexActivity","responseCode is:"+responseCode);
          if(responseCode == 200){
              InputStream stream = conn.getInputStream();
              result = inStream2String(stream);
          }else{
              
          }
          
          return result;
      } 


之后试了一下就OK了,这个问题忙活了一下午,不过好歹问题解决了,而且又长知识了啊,嘿嘿,晚上可以多吃一碗饭了~文字记录一下~~有遇到类似问题的朋友可以做一个参考。
分享到:
评论
3 楼 cn23snyga 2011-11-22  
请教一下博主,上面的设置,如何同webview 关联使用呢~~?

目前使用webview 遇到此问题,尚未解决,请不吝赐教啊!!!~
2 楼 rongdong1988 2011-11-19  
String imsi,Context context这两个参数传进来怎么没用?
1 楼 dh1314al 2011-11-16  
楼主,请问一下conn.setRequestProperty("Connection", "Keep-Alive");// 维持长连接   这个维持长连接有什么用吗?能不不能举个例子,谢谢了。

相关推荐

    Android中WAP PUSH的实现分析

    1. **WAP协议**:WAP是无线应用协议,旨在为移动设备提供一种访问互联网内容的方式。WAP PUSH是WAP协议的一部分,用于非请求式的信息传递。 2. **PUSH服务**:PUSH服务是WAP PUSH的核心,它负责接收来自服务器的推...

    android add wap push添加wap push功能

    **Android 添加 WAP Push 功能详解** WAP Push(Wireless Application Protocol Push)是一种在无线应用协议中用于向移动设备推送信息的技术。它允许服务提供商将数据如MMS消息、新闻更新、天气预报等推送到用户的...

    Android wappush讲解

    ### Android WAPPush详解 #### 一、基本概念与应用场景 **WAPPush**是一种能够将特定站点或业务的链接通过短信形式发送到支持WAPPush功能手机的技术。这项技术的核心价值在于它能够极大地简化用户查找和访问所需...

    android权限设置大全

    * android.permission.BROADCAST_WAP_PUSH:WAP PUSH服务收到后触发一个广播。 电话权限 * android.permission.CALL_PHONE:允许程序从非系统拨号器里输入电话号码。 * android.permission.CALL_PRIVILEGED:允许...

    wap掉起本地app(Android)

    这样,Android系统才能识别并正确地将URL请求转发到我们的应用。以下是一个示例: ```xml <activity android:name=".MainActivity"> <action android:name="android.intent.action.VIEW" /> <category android:...

    工作积累(12)-android browser的x-wap-profile

    在Android开放源码项目(AOSP)中,我们可以找到WebView组件的实现,它负责处理HTTP请求和响应,包括设置和解析"x-wap-profile"头。通过分析源码,我们可以学习到如何在自定义浏览器或使用WebView时,如何控制或利用这...

    android开发入门与实践PDF+源代码.rar

    首先,书中的"入门"部分会讲解Android开发环境的搭建,包括安装Android Studio,设置虚拟设备(AVD)或连接物理设备进行调试。这部分还会详细介绍Gradle构建系统,以及如何创建和管理Android项目。此外,读者会学习...

    Wap-Request.rar_wap

    本篇文章将深入探讨如何在手机上通过调用本地浏览器来打开一个WAP请求页面,以便于用户能够便捷地访问和交互。 首先,我们需要理解WAP的基本原理。WAP是一种基于XML的协议,它创建了一个开放的、标准化的框架,使得...

    安卓网站交互JSONxmlWebserviceUPnP相关-把wap网站生成android的app.rar

    在安卓平台上,将一个WAP网站转化为Android应用是一项常见的需求,这使得用户可以直接在手机上以原生应用的形式访问和互动。本压缩包文件“安卓网站交互JSONxmlWebserviceUPnP相关-把wap网站生成android的app.rar”...

    WAP网站系统源码

    3. 测试工具:模拟器或真实设备进行测试,如Android Studio的AVD或iOS Simulator。 五、优化与兼容性 由于移动设备的多样化和网络条件的限制,WAP网站需注重以下几点: 1. 页面大小:尽量减小WAP页面的大小,以适应...

    Sms.rar_MMS_android sms_android 短信_sms_sms android

    2. **短信权限**: 在AndroidManifest.xml中,应用需要声明`<uses-permission>`元素来请求发送和接收短信的权限。对于发送短信,需要`SEND_SMS`权限;对于接收,需要`RECEIVE_SMS`权限。 3. **短信监听**: 若要监听...

    新版Android开发教程.rar

    ----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...

    Android MMS

    2. **WAP Push**:MMS是基于WAP Push技术的,这是一种通过WAP(Wireless Application Protocol)协议将数据推送到手机上的方式。在Android源码中,`com.android.mms.wap`包包含了处理WAP Push的相关代码,如`...

    android系统权限大全

    - **BROADCAST_SMS/BROADCAST_WAP_PUSH**:用于发送短信或WAP推送通知。 - **CHANGE_NETWORK_STATE/CHANGE_WIFI_STATE**:允许应用更改网络或WiFi状态,如启用或禁用。 - **CLEAR_APP_CACHE/CLEAR_APP_USER_DATA**:...

    WapPushReceiver.zip_WAPpush

    在移动通信领域,WAP(Wireless Application Protocol)推送服务是一种常见的技术,它允许服务器向移动设备发送数据,如消息、链接或者更新,而无需用户主动请求。标题中的"WapPushReceiver.zip_WAPpush"表明这是一...

    Android开发——获取服务器返回的xml文件

    - **设置网络请求方式**:通常使用HTTP GET方法来获取服务器上的数据。 #### 2. 实现步骤 - **创建URL对象**:通过传入服务器地址(URL)创建一个`URL`对象。 - **打开连接**:通过调用`URL`对象的`openConnection...

    android mms

    - **WAP协议栈**:MMS消息通过WAP(Wireless Application Protocol)协议进行传输,包括WAP Push和WAP Gateway。 - **SMS协议**:用于MMS消息的触发和状态报告,通常使用SMS来启动MMS会话或通知接收方有新MMS。 **2...

    原生安卓影视app苹果CMS对接原生影视APP源码JAVA影视支持PC+WAP+APP

    标题中的“原生安卓影视app苹果CMS对接原生影视APP源码JAVA影视支持PC+WAP+APP”指的是一款基于Java开发的原生Android应用程序,主要用于播放影视内容。这款应用能够与苹果CMS(内容管理系统)进行对接,实现数据的...

    Android高级应用源码-android模拟短信插入和接收.zip

    在Android平台上,开发一款能够模拟短信插入和接收的应用是一项高级技术任务,这涉及到对Android系统的深入理解和对SMS(Short Message Service)服务的熟练操作。在这个项目中,开发者可能需要掌握以下几个关键知识...

    android 开发 push 短信协议解析

    在Android开发中,Push短信是一种常见的消息传递方式,特别是在MMS(Multimedia Messaging Service)不支持Push机制的情况下。Push短信协议解析是理解如何接收和处理此类短信的关键,这对于构建高效、可靠的通信应用...

Global site tag (gtag.js) - Google Analytics