0

パラメータを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);
}
?>

または、間違ったアプローチを使用していますか? これが正しいアプローチであれば、グーグルで調べたときにいくつかの良い例を見つけることができるはずです。

4

1 に答える 1

2

代わりにこれを最初の行として試してください:

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

于 2011-09-12T20:34:18.087 に答える