如何解决使用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 举报,一经查实,本站将立刻删除。