Удаленный вход с помощью curl (php) - PullRequest
0 голосов
/ 25 мая 2011

Я пытаюсь отправить форму входа с помощью phpcommand: curl, но она не работает.Поля формы два: электронная почта и PSW.Проблема в том, что если я использую urlencode для поля электронной почты, он возвращает ошибку: «неверный формат электронной почты!», В то время как если я не использую urlencode, ответа нет.1003 *

$url = 'myurl';
$fields = array(
        'login_email'=> 'myemail@gmail.com',
        'login_passwd'=> 'mypsw',
    'remember_me' => '1'
    ); 
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // Return page in string
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS,$fields);
$page = curl_exec($ch);
echo $page;

//close connection
curl_close($ch);

1 Ответ

3 голосов
/ 25 мая 2011

Вы уверены, что нет ответа? Многие системы входа в систему просто выполняют перенаправление на другую страницу, если вход выполнен успешно. Попробуйте добавить

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

, который позволил бы CURL выполнить перенаправление и получить любую страницу, на которую сервер отправил вас.

Кроме того, вы можете использовать опцию CURLOPT_HEADER, чтобы включить заголовки HTTP в ответ, возвращенный в ваше значение $page, и посмотреть, что там происходит.

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