Авторизуйтесь тогда POST - PullRequest
0 голосов
/ 17 марта 2012

Можно ли создать один php-код для входа в систему, используя почту и хранить куки?Затем с помощью куки сделать еще один пост?

Если возможно, я бы хотел, чтобы код php не показывал ничего, возможно, echo.

<?php
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, 'http://xxxxxxxx/login.php');
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, 'username=xxxxxxx&password=xxxxxxxxx&submit=Login');
Curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
$store = Curl_exec ($ch);
curl_setopt ($ch. CURLOPT_URL, 'http://xxxxxx/postlink2.php');
curl_setopt ($ch, CURLOPT_POSTFIELDS, 'info1=xxxxxxx&info2=xxxxxx&info3=xxxxxxxxxx');
$content = curl_exec ($ch);
curl_close ($ch);
?>

1 Ответ

0 голосов
/ 17 марта 2012

Я бы настоятельно рекомендовал выяснить, есть ли у сайта API, который вы можете использовать вместо этого, но да, это возможно.Следующее должно работать, хотя я не проверял это:

$curl = curl_init('http://xxxxxxxx/login.php');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_AUTOREFERER, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, 'username=xxxxxxx&password=xxxxxxxxx&submit=Login');
$response = curl_exec($curl);
preg_match('/^Set-Cookie: ([^;]*)/m', $response, $matches);
$cookie = $matches[1];
curl_close($curl);

$secondRequest = curl_init('http://xxxxxx/postlink2.php');
curl_setopt($secondRequest, CURLOPT_POSTFIELDS, 'info1=xxxxxxx&info2=xxxxxx&info3=xxxxxxxxxx');
curl_setopt($secondRequest, CURLOPT_COOKIE, $cookie);
curl_setopt($secondRequest, CURLOPT_RETURNTRANSFER, true);
$content = curl_exec($secondRequest);
curl_close($secondRequest);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...