1
我有這個奇妙的PHP類,用於讓我登錄到cPanel並調用任何我想要的路徑。現在它破了:curl沒有登錄到cPanel
<?php
class cPanel {
var $cPanelUser = "";
var $cPanelPass = "";
var $cPanelDomain = "";
var $cPanelPort = 0;
var $cPanelRel = "";
var $cPanelRoot = "";
function cPanel($cPanelDomain, $cPanelPort, $authUser, $authPass) {
$this->cPanelDomain = $cPanelDomain;
$this->cPanelPort = $cPanelPort;
$this->cPanelUser = $authUser;
$this->cPanelPass = $authPass;
//Root path of cPanel to load pages begining with/
$this->cPanelRoot = "http".($this->cPanelPort==2083 ? "s" : "")."://".$this->cPanelDomain.":".$this->cPanelPort."/frontend/x3/";
//Relative path of cPanel to load pages not begining with/
$this->cPanelRel = $this->cPanelRoot."";
}
function fetchPage($cPanelPage, $sPostVars = "") {
$curl = curl_init();
$loginf = sprintf("[%s]:[%s]", $this->cPanelUser, $this->cPanelPass);
//Build the path. If it begins with/we go and paste at root
if ($cPanelPage[0] == '/') {
$url = $this->cPanelRoot.substr($cPanelPage, 1);
}
else {
//Build the path - if begins with/we go and paste relative
$url = $this->cPanelRel.$cPanelPage;
}
curl_setopt ($curl, CURLOPT_URL, $url."?".$sPostVars);
curl_setopt ($curl, CURLOPT_TIMEOUT, 30);
curl_setopt ($curl, CURLOPT_USERAGENT, sprintf("Mozilla/%d.0",rand(4,5)));
curl_setopt ($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt ($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt ($curl, CURLOPT_FAILONERROR, 0);
curl_setopt ($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt ($curl, CURLOPT_USERPWD, $loginf);
$html = curl_exec ($curl);
echo 'Errors: ' . curl_errno($curl) . ' ' . curl_error($curl) . '<br><br>';
echo $html;
curl_close ($curl);
//print_r($url);
return $html;
}
}
我在一臺服務器上使用這個腳本,並試圖在另一臺服務器上登錄並運行一個fastastico腳本。這是錯誤輸出:錯誤:7無法連接到主機
我已經多次檢查用戶名和密碼。
我可以通過瀏覽器登錄到cPanel。它的共享主機,所以我不能回答DNS和防火牆的問題。我使用hostgator託管寶貝計劃。 – Chris