Avatar billede svylbowe Nybegynder
22. december 2004 - 19:00 Der er 1 kommentar

opret SSL forbindelse fra PHP 4.1.2

Hej,
jeg prøver at oprette forbindelse til en HTTPS-url fra mit PHP-script. Jeg har gjort den slags før i ASP ved hjælp af MSXML2.ServerXMLHTTP-objektet. Denne gang skal det dog foregå i PHP.

Min server-installation rummer PHP 4.1.2 og mod_ssl/2.8.9 OpenSSL/0.9.6c. Jeg har ikke mulighed for at installere cURL-biblioteket, som vistnok er den traditionelle måde at løse problemet på.

Jeg har prøvet at bruge følgende script:

function getcontent($server, $port, $file)
{
  $cont = "";
  $ip = gethostbyname($server);
  $fp = fsockopen($ip, $port);
  if (!$fp)
  {
      return "Unknown";
  }
  else
  {
      $com = "GET $file HTTPS/1.1\r\nAccept: */*\r\nAccept-Language: de-ch\r\nAccept-Encoding: gzip, deflate\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)\r\nHost: $server:$port\r\nConnection: Keep-Alive\r\n\r\n";
      fputs($fp, $com);
      while (!feof($fp))
      {
          $cont .= fread($fp, 500);
      }
      fclose($fp);
      $cont = substr($cont, strpos($cont, "\r\n\r\n") + 4);
      return $cont;
  }
}
echo getcontent("minUrl", "minPort", "minSti");

Det eneste, som jeg får tilbage, er to små firkanter!?! Er det en slags kryptering eller hvad?
Avatar billede coderdk Praktikant
22. december 2004 - 20:21 #1
Ja, din løsning holder ikke - Krypteringen starter allerede før du sender dit request...

Prøv at lave en phpinfo(); i toppen, står der "Registered PHP Streams", hvis https står der kan du bruge:

echo file_get_contents( "https://dinurl/" );

Ellers er du nok nødt til at gå ad cURL vejen...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester