JAVA - POST到PHP,没有收到变量

时间:2015-03-14 22:02:15

标签: java php variables http-post

所以我试图将来自java的IP发布到网络上的php文件中。 然后php文件将保存它。虽然php文件没有收到ip。

Java代码:

try {
            // open a connection to the site
            URL url = new URL("http://example.com/useranalytics/join.php");
            URLConnection con = url.openConnection();
            // activate the output
            con.setDoOutput(true);
            PrintStream ps = new PrintStream(con.getOutputStream());
            // send your parameters to your site
            DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
            Date date = new Date();
            ps.print("ip=1.0.1.0");
            ps.print("time=" + dateFormat.format(date));

            // we have to get the input stream in order to actually send the request
            con.getInputStream();

            // close the print stream
            ps.close();
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }

PHP代码(join.php):

<?php
    foreach ($_POST as $key => $value) {
    switch ($key) {
        case 'ip':
            $ip = $value;
            break;
        case 'time':
            $time = $value;
            break;
        default:
            break;
    }
    $ipf = "ipss.txt";
    $handleip = fopen($ipf, "r");
    $ips = fread($handleip, filesize($ipf));
    if (strpos($ips,':' . $ip . ':') !== false) {

    } else {
        file_put_contents('ipss.txt', $ips . PHP_EOL . ':' . $IP . ':');
    }
}
?>

有没有人知道为什么会这样?我感谢所有和任何帮助。很抱歉,如果它是PHP代码,对PHP来说还是新手。

1 个答案:

答案 0 :(得分:0)

HttpClient httpclient = HttpClients.createDefault();
HttpPost httppost = new HttpPost("http://www.a-domain.com/foo/");

// Request parameters and other properties.
List<NameValuePair> params = new ArrayList<NameValuePair>(2);
params.add(new BasicNameValuePair("param-1", "12345"));
params.add(new BasicNameValuePair("param-2", "Hello!"));
httppost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));

//Execute and get the response.
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();

if (entity != null) {
    InputStream instream = entity.getContent();
    try {
        // do something useful
    } finally {
        instream.close();
    }
}

来源:http://hc.apache.org/