Параметры не публикуются при использовании fsockopen и fwrite - PullRequest
0 голосов
/ 13 сентября 2011

Я пытаюсь опубликовать параметры из 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);
}
?>

Или я использую неправильный подход? Я думаю, если это правильный подход, то я смог бы найти несколько хороших примеров, когда гуглюсь.

1 Ответ

2 голосов
/ 13 сентября 2011

Попробуйте вместо первой строки:

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

...