使用php远程登录站点

问题描述

我在ckenfila工作,正在尝试制作一个可以从公司网站远程下载文件的程序。我目前是CS专业大四,并且具有PHP的经验;但是,我对卷曲和类似情况几乎没有经验。我目前正在尝试使用该程序:https://github.com/devall-eu/Login-with-cURL-PHP-on-remote-website,在此处编写代码:

<?php
/**
 * Class WS_connect
 *
 * Login and get content of webpage
 */
class WS_connect
{
    protected $username = 'myusername';
    protected $password = 'mypassword';
    var $URL = 'https://login.cfahome.com/login/login.do?prompt=y&bmctx=4D978DCBDE9F3780B15870A0F30E4F91&contextType=external&username=string&password=secure_string&challenge_url=https%3A%2F%2Flogin.cfahome.com%2Flogin%2Flogin.do&request_id=-3375257431464164094&authn_try_count=0&locale=en_US&resource_url=https%253A%252F%252Fwww.cfahome.com%252F';

    /**
     * WS_connect constructor
     */
    public function __construct()
    {
        $this->username;
        $this->password;
        $this->URL;

    }

    /**
     * Connect to web service
     * CURL method
     * @return object
     */
    private function connect()
    {
        $ch = curl_init();

        $agent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6";

        curl_setopt($ch,CURLOPT_USERAGENT,$agent);
        curl_setopt($ch,CURLOPT_URL,$this->URL);
        curl_setopt($ch,CURLOPT_USERPWD,$this->username . ":" . $this->password);
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
        curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
        curl_setopt($ch,CURLOPT_TIMEOUT,400);
        curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,CURLOPT_HEADER,0);

        curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
        curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);

        /*
        Set the cookie storing files
        Cookie files are necessary since we are logging and session data needs to be saved
        */

        curl_setopt($ch,CURLOPT_COOKIEJAR,'cookie.txt');
        curl_setopt($ch,CURLOPT_COOKIEFILE,'cookie.txt');

        $res = (object)array(
            'response' => curl_exec($ch),'info' => (object)curl_getinfo($ch),'errors' => curl_error($ch)
        );

        curl_close($ch);

        return $res;
    }

    /**
     * @return mixed|string
     */
    private function getData()
    {
        $data = $this->connect();

        if ($data->errors) return $data->errors;
        elseif ($data->response == '') return 'Response is empty!';
        else return $data->response;
    }

    /**
     * @return bool|mixed|string
     */
    public function data()
    {
        $response = $this->getData();

        if (!is_array($response)) {
            echo $response;
            return FALSE;
        } else {
            // We finally have data from WS
            return $response;
        }
    }
}

$connector = new WS_connect;
$connector->data();

很明显,我已经更改了用户名和密码。该程序仅输出登录页面并坦率地说,我真的不知道如何进行故障排除或从此处去哪里。任何意见或建议将不胜感激!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...