TS: Post2Host via SSL

Beitrag lesen

_Der_ Fehler ist gefunden und weiter unten wird das Skript dann auch ohne die weiteren Fehler samt Beschreibung nochmal gepostet werden

Hello,

ich mühe mich ab, per PHP Post2Host mit SSL zum Laufen zu bringen. Leider bekomme ich immer nur die Statusmeldung von Server:

HTTP/1.1 400 Bad Request
Date: Mon, 27 May 2019 12:07:32 GMT
Server: Apache/2.2.22 (Debian)
Vary: Accept-Encoding
Content-Length: 226
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
</body></html>

Das Testscript zum Posten sieht so aus:

<?php   ### function_post2host.php ###

function PostToHost($host,$path,$data,$ssl=FALSE,$autoport=TRUE,$user=FALSE,$pass=FALSE,$referer=FALSE)
{
    //Daten anpassen
    if(is_array($data))
	{
		$data_to_send = '';
		foreach($data as $name => $var)
	    {
            $data_to_send .= urlencode($name).'='.urlencode($var).'&';
        }
        $data_to_send = substr($data_to_send,0,-1);
    }
    else $data_to_send = 'data=' . urlencode($data);
  
	//SSL einbinden, falls gewünscht

	if($ssl === TRUE)
	{
		$port = 443;
		$host = 'ssl://' . $host;
	}
	else {$port = 80; }

	if ($autoport === TRUE) 
	{
		### alter nothing;
	}
	elseif (is_numeric($autoport))
	{
		$port = $autoport;
	}
    else {return false;}
	  
	//Verbindung öffnen
	if (false === ($fp = fsockopen($host, $port)))
	{ 
		return false;
	}	
  
	stream_set_timeout($fp, 30);
  
	//Header erzeugen
	fputs($fp,"POST ".$path." HTTPS/1.1\r\n");
	fputs($fp,"Host: ".$host."\r\n");
  
	if($user != "" && $pass != "") 
	{
		fputs($fp, "Authorization: Basic " . base64_encode($user.":".$pass)."\r\n");
	}
  
	if (FALSE !== $referer) 
	{
		fputs($fp, "Referer: " . urlencode($referer) . "\r\n");
	}
	fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
	fputs($fp, "Content-length: " . strlen($data_to_send) . "\r\n");
	fputs($fp, "Connection: close\r\n\r\n");
	fputs($fp, $data_to_send);
  
	//Antwort abfangen
    $res = '';
	while(!feof($fp)) 
	{
		$res .= fgets($fp, 128);
	}
	
	//Verbindung schliessen
	fclose($fp);
	
	//Antwort zurückgeben
	return $res;
}

###--------------------------------------------------------------------
# PostToHost($host,$path,$data,$ssl=FALSE,$autoport=TRUE,$user=FALSE,$pass=FALSE,$referer=FALSE)

$_data = array();
$_data ['eins'] = 'erster Eintrag';
$_data ['zwei'] = 'zweiter Eintrag';
$_data ['drei'] = 'dritter Eintrag';

echo PostToHost("bitworks.de",'/sensor/postresponder.php',$_data,TRUE);

?>

Im Error-Log des angeposteten Servers ist leider nichts zu finden.
Wo steckt der Fehler? Wie kann sich zum Debugging vorgehen?

Glück Auf
Tom vom Berg

--
Es gibt nichts Gutes, außer man tut es!
Das Leben selbst ist der Sinn.

akzeptierte Antworten

0 60

Post2Host via SSL

TS
  • php
  • tls
  • webserver
  1. 0
    dedlfix
    1. 0
      TS
      1. 0
        dedlfix
  2. 1
    MudGuard
    1. 0

      Post2Host via SSL, Fehler gefunden

      TS
      1. 0
        pl
      2. 0
        dedlfix
        1. 0
          TS
          1. 0
            dedlfix
            1. 0
              TS
              1. 0
                dedlfix
          2. 0
            pl
            1. 1
              dedlfix
              1. -1
                pl
                1. 0
                  dedlfix
                  1. 0
                    TS
                    1. 0
                      dedlfix
                    2. 0
                      1unitedpower
          3. -1
            pl
      3. 0
        1unitedpower
        1. 0
          TS
        2. -1
          pl
  3. 0
    pl
  4. 0

    Funktion für Post2Host via SSL, Zwischenstand 2019-05-30

    TS
    1. 0
      Mitleser
      1. 0
        TS
        1. 0
          Mitleser
          1. 0
            TS
      2. 1
        1unitedpower
        1. 0
          Mitleser
        2. 0
          TS
          1. 1
            1unitedpower
            1. 0
              TS
      3. 0
        pl
        1. 0

          PHP und PUT

          TS
          1. 0
            dedlfix
          2. 0
            pl
            1. 0
              dedlfix
              1. 0
                pl
                1. 0
                  dedlfix
              2. 0
                TS
                1. 0
                  dedlfix
                  1. 0
                    TS
                    1. 1
                      dedlfix
                    2. 1
                      1unitedpower
          3. 0
            pl
            1. 0
              pl
              1. 0
                TS
                1. 0
                  pl
                  1. 0
                    TS
                    1. 0
                      pl
                      1. 0
                        dedlfix
                        1. 0
                          pl
                  2. 0
                    JürgenB
                    1. 0
                      pl
        2. 0
          Mitleser
          1. 0
            pl
            1. 1
              Mitleser
    2. 1
      dedlfix