https / ssl вызывает проблемы при отправке HTML через curl - PullRequest
1 голос
/ 21 марта 2012

У меня есть скрипт curl на веб-сайте, который отправляет запрос на сервер, используя CURL.С другой стороны, я использую wkhtmltopdf для генерации PDF с полученным HTML, это прекрасно работает, когда https не включен на веб-сайте, однако, как только я включаю https, генерация PDF выдает ошибки.

Мой скрипт curl

$url = Yii::app()->params['pdfUrl']; //Equals http://xxx.xx.xxx.xxx/server/?r=pdf/generatePdf

            $body = array(
                "client_url"=>Yii::app()->params['pdfClientURL'],
                "client_id"=>Yii::app()->params['pdfClientID'],
                "title"=>urlencode($title),
                "content"=>urlencode(($content))

            );
            foreach($body as $key=>$value) { $body_str .= $key.'='.$value.'&'; }
                rtrim($body_str,'&');

            curl_setopt ($c, CURLOPT_POST, true);
            curl_setopt ($c, CURLOPT_POSTFIELDS, $body_str);

            curl_setopt ($c, CURLOPT_RETURNTRANSFER, true);
            $pdf = curl_exec ($c);

            curl_close ($c);
            header("Content-Type: application/pdf");
            header("Cache-Control: no-cache");
            header("Accept-Ranges: none");
            header("Content-Disposition: attachment; filename=".str_replace(' ', '_', $title).".pdf");
            echo $pdf;
            Yii::app()->end();

Что это может быть вызвано https?

ОШИБКИ, которые я получаю на WKHTML2PDF

<code>WKPDF system error: <pre>Loading pages (1/6)
[> ] 0%
[======> ] 10%
[===========> ] 19%
QSslSocket: cannot call unresolved function SSLv23_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used
[============================================================] 100%
Counting pages (2/6)
[============================================================] Object 1 of 1
Resolving links (4/6)
[============================================================] Object 1 of 1
Loading headers and footers (5/6)
Printing pages (6/6)
[> ] Preparing
[============================================================] Page 1 of 1
Done

Ответы [ 2 ]

5 голосов
/ 21 марта 2012

Хорошо, нашел проблему после того, как @Keeyai указал мне правильное направление. Мне удалось найти этот пост http://code.google.com/p/wkhtmltopdf/issues/detail?id=17&q=ssl и установить openssl-devel на сервер, где установлен wkhtml2pdf и проблема решена. Так как проблема была вызвана изображениями по ссылке https

yum install openssl-devel добился цели

0 голосов
/ 21 марта 2012

Взгляните на страницу curl_setopts .

Могут помочь такие вещи как CURLOPT_SSL_VERIFYPEER = false.

Просмотрите на этой странице различные варианты, относящиеся к ssl - наверняка вы найдете там свои ответы ...

...