JAVA - 发布到 PHP,不接收变量


JAVA - POST to PHP, Not Receiving Variables

所以我正在尝试将 Java 中的 IP 发布到网络上的 php 文件。然后,php 文件将保存它。虽然 php 文件没有收到 ip。

爪哇代码:

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 代码(加入.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来说相当新。

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/