使用fsockopen和fwrite时未发布参数

时间:2011-09-12 20:31:23

标签: php http rpc fsockopen

我试图将参数从php发布到另一台服务器。手动创建链接并在浏览器中打开它时,它可以正常工作。但是当我尝试从我的php脚本中执行它时它不起作用。访问我访问的文件,但不发布参数。

我想这个问题与我如何定义和发布参数有关($ post_data。=“?companyid = banane”;)。我的问题是什么,如何解决?

<?php
$fp = fsockopen("192.168.1.102", 80, $errno, $errstr, 30);
error_log("write done");
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {

    $post_data = "GET /cgi-bin/new_instance.pl HTTP/1.1\r\n";
    $post_data .= "Host: 192.168.1.102\r\n";
    $post_data .= "Connection: Close\r\n\r\n";
    $post_data .= "?companyid=banane";
    error_log("OUT - - - ".$post_data);
    fwrite($fp, $post_data);
        error_log("write done");
    while (!feof($fp)) {
        echo fgets($fp, 128);
    }
    fclose($fp);
}
?>

或者我使用了错误的方法?我在想,如果这是正确的方法,那么我应该能够在Google搜索时找到一些好的例子。

1 个答案:

答案 0 :(得分:2)

请尝试将此作为第一行:

  

获取/cgi-bin/new_instance.pl?companyid=banane HTTP / 1.1 \ r \ n