На самом деле, это стало настолько грязным, что я даже не уверен, что кроль является виновником. Итак, вот php:
$creds = array(
'pw' => "xxxx",
'login' => "user"
);
$login_url = "https://www.example.net/login-form"; //action value in real form.
$loginpage = curl_init();
curl_setopt($loginpage, CURLOPT_HEADER, 1);
curl_setopt($loginpage, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($loginpage, CURLOPT_URL, $login_url);
curl_setopt($loginpage, CURLOPT_POST, 1);
curl_setopt($loginpage, CURLOPT_POSTFIELDS, $creds);
$response = curl_exec($loginpage);
echo $response;
Я получаю заголовки (которые соответствуют заголовкам нормального, успешного запроса), за которыми следует страница входа (я предполагаю, что завиток захвачен этим из-за перенаправления), который имеет ошибку с эффектом «Плохой тип контакта» ».
Я думал, что проблема была в том, что в запросе был задан хост запрашивающего сервера, а не удаленного сервера, но потом я заметил (в Firebug), что запрос отправляется как GET, а не POST.
Если я скопирую форму сайта входа в систему, урежу ее до элементов формы со значениями и введу полный URL-адрес для действия, это прекрасно работает. Поэтому я думаю, что это не проблема безопасности, когда запрос на вход в систему должен исходить от того же сервера и т. Д. (Я даже избавляюсь от пустых скрытых значений и всех JS, которые устанавливают некоторые из других файлов cookie).
Опять же, я довольно быстро запутался.
Есть идеи, почему он отображается как GET или почему он не работает?