-2
網站上使用的登錄表單是/login.php?action=process,它使用POST。我將如何開始寫東西,最好是使用我的用戶名和密碼登錄的php。然後,我將繼續抓取並獲取我需要的信息。以編程方式訪問受密碼保護的網站
這是爲了監視/更新供應商電子商店的信息,以便我的庫存和定價在我的網站上保持最新。謝謝!
網站上使用的登錄表單是/login.php?action=process,它使用POST。我將如何開始寫東西,最好是使用我的用戶名和密碼登錄的php。然後,我將繼續抓取並獲取我需要的信息。以編程方式訪問受密碼保護的網站
這是爲了監視/更新供應商電子商店的信息,以便我的庫存和定價在我的網站上保持最新。謝謝!
$loginUrl = 'http://www.remote_site.com/login.php?action=process';
$loginFields = array('username' => 'username', 'password' => 'password');
getUrl($loginUrl, 'post', $loginFields);
//now you're logged in and a session cookie was generated
$remote_page_content = getUrl('http://www.remote_site.com/some_page.php');
function getUrl($url, $method='', $vars='') {
$ch = curl_init();
if ($method == 'post') {
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $vars);
}
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt');
$buffer = curl_exec($ch);
curl_close($ch);
return $buffer;
}
從登錄頁面,我假設商店系統是(某種)xt:commerce。它具有將產品信息導出爲CSV的功能,因此,正如vaidas在評論中所說的那樣,您應該嘗試在通過電子郵件發送CSV郵件之前嘗試「抓取」網站。
你有沒有嘗試過甚至第一次刺穿它,或者你想完整的代碼? – random
你會使用'curl'。 – zzzzBov
我不知道你想問什麼。 – Nemanja