программный доступ к защищенному паролем сайту - PullRequest
0 голосов
/ 11 августа 2011

Форма входа, используемая на сайте, является /login.php?action=process и использует POST.Как бы я начал писать что-то, желательно с php, который будет входить с моим именем пользователя и паролем.Затем я продолжу ползти и получу информацию, которая мне нужна.

Это для отслеживания / обновления информации для интернет-магазина поставщиков, чтобы мой инвентарь и цены были актуальными на моем сайте.

1 Ответ

1 голос
/ 11 августа 2011
$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, поэтому, как сказал Вайдас в комментариях, вы должны попытаться получить этот CSV по электронной почте, прежде чем пытаться «сканировать» сайт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...