HTTP "POST" in Java


HTTP "POST" in Java

我想在java(android)中使用httpPost将一些数据发布到php页面,但出现了一些错误。

Java代码:

btn1.setOnClickListener(new OnClickListener(){
    @Override
    public void onClick(View arg0) {
        HttpPost urlPost = new HttpPost("http://192.168.1.107/update.php");
        List<NameValuePair> parms = new ArrayList<NameValuePair>();
        parms.add(new BasicNameValuePair("a","heyya"));
        try{
            urlPost.setEntity(new UrlEncodedFormEntity(parms,HTTP.UTF_8));
            Log.i("aaa","1");
            HttpResponse postResponse = new DefaultHttpClient().execute(urlPost);
            Log.i("aaa","2");
            Log.i("aaa",Integer.toString(postResponse.getStatusLine().getStatusCode()));
        }catch(Exception e){ }
    }
});

PHP代码:

<?php
$inputVal = $_POST["a"];
if($inputVal != ""){
    $mysql_address = "localhost";
    $mysql_user = "root";
    $mysql_pw = "123123";
    $mysql_db = "test";
    $conn = mysql_connect($mysql_address,$mysql_user,$mysql_pw);
    mysql_select_db($mysql_db);
    $sql = 'insert into test(a) VALUES("'.$inputVal.'")';
    mysql_query($sql);
}else{
    echo 'Error!';
}
?>

现在LogCat刚刚出现"1",这意味着程序在被阻止

"new DefaultHttpClient().execute(urlPost);"

这些代码出了什么问题?

提前谢谢。

可能抛出了一些异常,但您可以默默地接受它,添加以下内容:

 catch(Exception e){ e.printStackTrace(); } // or LOG.error if you have it..

然后再试一次。