CURL无法抓取HTML内容

时间:2013-12-16 15:46:57

标签: jquery ajax codeigniter twitter-bootstrap curl

我在一个网址上有一个CMS,并且至少有68个属性网站在不同的域中运行该CMS。

我正在尝试从其中一个属性网站中获取一个表单,以便在CMS中的模式中显示(以允许其他属性查看表单以决定是否要包含它。)

在引导页面上,我有这个脚本:

(function() {
    $(document).on('click', '.btnModal', function(e){
        e.preventDefault();
        var formID = $(this).data('form');

        $.ajax({
            url:  "<?= site_url('staffer/get_form_modal'); ?>",
            type: "POST",
            data: { fid: formID },
            success: function(msg){
                $('#modal-body').html(msg);
                $('#myModal').modal('show');
            } // end success
        });
    });
})(); // end self-invoking anonymous function

在控制器中,这是CURL代码:

public function get_form_modal($fid = null){
    if(!$fid){ $fid = $this->input->post('fid'); }
    $form = $this->istaff_m->get_modal_form($fid);
    $html = '';

    $url = $this->boilerplate['propertyInfo'][0]['istaffURL'] . 'staff/' . $form[0]->URL;
    // $url echos http://istaff.edrtest.com/staff/res_lr
    $url = (string) trim(strip_tags($url));
    $url = str_replace('&amp;', '&', $url);

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"); 
    curl_setopt($ch, CURLOPT_NOBODY, false);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $result= curl_exec ($ch);
    if( $result === false){
        echo "Curl error: " . @curl_error($ch);
    } // end if
    curl_close ($ch);

    echo $result;
} // end get_form_modal function
/*-----------------------------------------------------*/

模式会弹出标题和空体。没有错误消息......只是空白。

Firebug显示发布的表单ID和空响应 - 再次,没有错误消息。

感谢任何帮助!

更新:在服务器上使用SSH,我运行'curl -I'http://istaff.edrtest.com/staff/res_lr'并取回以下内容:

HTTP/1.1 200 OK
Server: nginx
Date: Mon, 16 Dec 2013 16:15:56 GMT
Content-Type: text/html
Connection: keep-alive
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Refresh: 0;url=http://istaff.edrtest.com/user/log_in
Set-Cookie: PHPSESSID=kbc674bc07nn4aeh2k5rsur685; path=/
X-Powered-By: PleskLin

1 个答案:

答案 0 :(得分:0)

来自回复 - 刷新:0;网址= http://istaff.edrtest.com/user/log_in

您是否认为您需要成为登录用户才能执行此卷曲操作?

另外,您确定它需要GET操作吗?它可以是一个POST操作(我建议你再次检查)。