wangshk9090 2016-10-08 13:49 采纳率: 0%
浏览 1921

Android 使用Post带参数方法请求获取服务器响应,确未收到验证码短信

如下是点击事件:

 public void onClick(View v) {
                //生成6位随机数
                int num = (int) ((Math.random() * 9 + 1) * 100000);
                    String[] Contents = new String[5];
                    Contents[0]="CorpID="+"duanyuntao";         //账号  必填
                    Contents[1]="Pwd="+"123456";                //密码  必填
                    Contents[2]="Cell="+"null";                 // 选填
                    Contents[3]="Mobile="+"15565651713"; // 这里填写个固定号码做测试,
                    Contents[4]="Content="+"【验证码】信息,您的验证码为:"+num;  //验证码信息本地生成,作为参数上传
                    String url="http://101.200.29.88:8082/SendMT/SendMessage";
                    HttpUtil.sendHttpRequestPost(url,Contents,new HttpCallbackListener() {
                            @Override
                            public void onFinish(String response){
                                Log.d("TAG","finish");
                            }
                            @Override
                            public void onError(Exception e){
                                e.printStackTrace();
                                Log.d("TAG","error");
                            }
                        }
                );
            }
        });

网络请求:

 public static void sendHttpRequestPost(final String address,final String[] content,final HttpCallbackListener listener ){
        new Thread(new Runnable() {
            @Override
            public void run() {
                HttpURLConnection connection = null;
                try {
                    URL url = new URL(address);
                    connection = (HttpURLConnection) url .openConnection();
                    connection.setConnectTimeout(8000);
                    connection.setRequestMethod("POST");
//                    connection.setRequestProperty("Charset", "UTF-8");
                    connection.setReadTimeout(8000);
                    connection.setDoInput(true);
                    DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream());
                    String Content = content[0]+"&"+content[1]+"&"+content[2]+"&"+content[3]+"&"+content[4];
                    outputStream.write(Content.getBytes());
                    outputStream.flush();
                    outputStream.close();
                    InputStream in = connection.getInputStream();
                    BufferedReader reader = new BufferedReader(new InputStreamReader(in));
                    StringBuilder response = new StringBuilder();
                    String line;
                    while ((line=reader.readLine())!=null ){
                        response.append(line);
                    }
                    if(listener != null){
                        listener.onFinish(response.toString());  //成功回调
                    }
                }catch (Exception e) {

                    if (listener != null) {
                        listener.onError(e);//失败回调
                    }
                    e.printStackTrace();
                }
            }
        }).start();
    }

接口文档 如下图:
图片说明
图片说明

  • 写回答

1条回答 默认 最新

  • threenewbee 2016-10-08 14:42
    关注

    你这个地址本身能不能连上,传过去和返回的参数是什么,建议你联系接口的开发者寻求帮助。如果你是接口的开发者,在服务器端调试,检查参数输入返回输出

    评论

报告相同问题?

悬赏问题

  • ¥15 arduino控制ps2手柄一直报错
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥85 maple软件,solve求反函数,出现rootof怎么办?
  • ¥15 求chat4.0解答一道线性规划题,用lingo编程运行,第一问要求写出数学模型和lingo语言编程模型,第二问第三问解答就行,我的ddl要到了谁来求了
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题