SSL и fsockopen()...

Fuz

Новичок
SSL и fsockopen()...

Есть код:
PHP:
$Content = "arr=123&submit=go\n";

$cl = strlen($Content);

$zapros = "GET /add/receive.cp HTTP/1.1\n".
          "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, */*\n".
          "Referer: [url]https://www.e-port.ru/add/receive.cp\n[/url]".
          "Accept-Language: ru\n".
          "Content-Type: application/x-www-form-urlencoded\n".
          "Accept-Encoding: gzip, deflate\n".
          "User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)\n".
          "Host: [url]www.e-port.ru\n[/url]".
          "Content-Length: $cl\n".
          "Connection: Close\n".
          "\n".
          "$Content"; //Keep-Alive
$fp = fsockopen("www.e-port.ru", 80);

if(!$fp)
  {
   echo 'Internal ERROR!';
  }
else
  {
    fputs($fp, $zapros);
    while(!feof($fp))
      {
        echo fgets($fp,500);
      }
    fclose($fp);
  }
Выдаёт "HTTP/1.1 200 OK Date: Fri, 09 Jun 2006 13:24:31 GMT Server: Apache/1.3.33 (Unix) mod_perl/1.29 mod_ssl/2.8.22 OpenSSL/0.9.7g Set-cookie: ESESSION=21174798; path=/; Set-cookie: EPORT=13202648-17700149-; path=/; expires=Sat, 14-May-2011 13:24:31 GMT; Refresh: 3; Url=https://www.e-port.ru/add/receive.cp Connection: close Transfer-Encoding: chunked Content-Type: text/html; charset=koi8-r b9

Внимание! Эта функция доступна только в режиме защищенного SSL-соединения.
Перейти в режим защищенного соединения 0 "
как сделать так чтобы коннектилось по https?
 

Fuz

Новичок
мне надо отправить запрос и получить ответ.
Это НЕ воровство контента и всё такое, c ними всё договорено.
В мануале по fsockopen нашёл такое:

As of PHP 4.3.0, if you have compiled in OpenSSL support, you may prefix the hostname with either 'ssl://' or 'tls://' to use an SSL or TLS client connection over TCP/IP to connect to the remote host.

но куда вписать ssl:// - не могу понять...ведь у fsockopen ( string target [, int port [, int &errno [, string &errstr [, float timeout]]]] )
параметра host нету, есть таргет, но если туда лепишь ssl:// то тут же возвращает false.
 

Fuz

Новичок
phprus
А ведь и правда..блин. протупил. но пробовать буду уже во вторник.

-~{}~ 10.06.06 12:29:

phprus
Сейчас попробовал так:
PHP:
$fp = fsockopen("ssl://www.e-port.ru/add/receive.cp", 443, $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {
    $out = "GET / HTTP/1.1\r\n";
    $out .= "Host: www.e-port.ru\r\n";
    $out .= "Connection: Keep-Alive\r\n\r\n";

    fwrite($fp, $out);
    while (!feof($fp)) {
        echo fgets($fp, 128);
    }
    fclose($fp);
}
?>
Простейший пример из мануала....выдаёт "Операция успешно завершена. (0)" и всё.
 

Fuz

Новичок
neko
что значило твоё "..."?.....Если тебя смутило сообщение "Операция успешно завершена. (0)", то оно выдаётся как errorstring при $fp=false.
 
Сверху