readfile () не работает из-за SSL - PullRequest
1 голос
/ 27 мая 2011

Я использую readfile () для загрузки из API Rapidshare через мой сервер. Это соответствующий код:

readfile("http://rs$server_id$short_host.rapidshare.com/cgi-bin/rsapi.cgi?sub=download&fileid=$file_id&filename=$file_name&login={$account['username']}&password={$account['password']}");

Но когда я запрашиваю страницу, я получаю эту ошибку:

Warning: readfile(http://rs869l34.rapidshare.com/cgi-bin/rsapi.cgi?sub=download&fileid=3457766962&filename=some_file.rar&login=mylogin&password=mypassword) [function.readfile]: failed to open stream: Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP? in C:\xampp\htdocs\dl\downloaders\rapidshare_com.php on line 25

Согласно API Rapidshare, нет способа остановить его, возвращая ответ SSL.

Нужно ли настраивать какую-то специальную оболочку для обработки этого или чего-то еще?

Спасибо за любую помощь!

1 Ответ

0 голосов
/ 27 мая 2011

libCurl используется для загрузки файла с удаленного сервера, например, как файл чтения ( http: //....).

Хотя он может обрабатывать более мелкие детали, такие как cookie, post и ssl сертификаты. читать больше на http://cn.php.net/manual/en/book.curl.php

включите curl в php.ini и попробуйте следующий код:

$ch=curl_init("http://rs$server_id$short_host.rapidshare.com/cgi-bin/rsapi.cgi?sub=download&fileid=$file_id&filename=$file_name&login={$account['username']}&password={$account['password']}");
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true); // follow http redirect
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,true); //temporary ignore certificate error for easier testing
$data=$curl_exec($ch);
...