如何在Android上发出与此PHP代码相同的请求?

时间:2014-10-09 19:32:23

标签: php android http-post

我是PHP和Android的新手。

我在PHP中这样做这个请求效果很好。 "名称"将包含一个变量,如" upperLight"这样我们就可以与android代码进行比较。

$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

socket_connect($sock,"192.168.2.104", 80);

$msg = 'a';
if (isset($_POST["name"])){
    $msg= $_POST["name"] ;
}

socket_write($sock, $msg);

我正在尝试在这样的机器人中做同样的事情,但它不起作用。

        List<NameValuePair> pairs = new ArrayList<NameValuePair>();
        pairs.add(new BasicNameValuePair("upperLight","1"));

        HttpClient client = new DefaultHttpClient();
        HttpPost post = new HttpPost(URLTest);
        post.setEntity(new UrlEncodedFormEntity(pairs));
        HttpResponse execute = client.execute(post);

另一端(192.168.2.104)我正在检查单词&#34; upperLight&#34;在请求中。

编辑:变量URLTest包含 - &#34; 192.168.2.104:80&#34;

2 个答案:

答案 0 :(得分:0)

  • 试试这个

    URL url = new URL("http://192.168.2.104:80");
    URLConnection con = url.openConnection();
    con.setDoOutput(true);
    OutputStreamWriter out = new OutputStreamWriter(con.getOutputStream());
    out.write( "upperLight" );
    out.flush();
    

答案 1 :(得分:0)

PHP代码连接到端口80上的TCP套接字,而Android代码连接到HTTP服务器。

这是两件完全不同的事情。如果需要将PHP代码移植到Java / Android,则首先使用相应的库Socket