Nicsoft
Nicsoft

Reputation: 3712

Parameters not posted when using fsockopen and fwrite

I am trying to post parameters from php to another server. When creating the link manually and opening it in the browser it works fine. But when trying to do it from my php-script it doesn't work. The file I am accessing is accessed, but the parameter is not posted.

I guess the problem has to do with how I define and post the parameter ($post_data .= "?companyid=banane";). What is my problem and how do I solve it?

<?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);
}
?>

Or am I using the wrong approach? I'm thinking, if this is the correct approach then I should be able to find some good examples when googling around.

Upvotes: 0

Views: 1449

Answers (1)

Nick Shaw
Nick Shaw

Reputation: 2113

Try this as the first line instead:

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

Upvotes: 2

Related Questions