Answer the question
In order to leave comments, you need to log in
How to login to novafilm.tv using cURL?
Something I've blunted on the topic of the transmitted data.
If on other trackers it is enough to post the log/pass and press the button
curl_setopt($ch, CURLOPT_POSTFIELDS, "FormLogin={$log}&FormPassword={$pass}&act=login");
and everything works, then as I understand it, everything is transmitted in the headers, but judging by the logs, in addition to log, pass, a bunch of some data is also transmitted:
--------------------- --------14042802788933518161505795335
Content-Disposition: form-data; name=\"return\"
/
-----------------------------14042802788933518161505795335
Content-Disposition: form-data; name=\"username\"
{$log}
-----------------------14042802788933518161505795335
Content-Disposition: form-data; name=\"password\"
{$pass}
-----------------------------14042802788933518161505795335
Content-Disposition: form-data; name=\"login\"
???????? ??????????!
-----------------------------14042802788933518161505795335--
what is it? I tried to send the header in this form - the server returns nothing, if not sent - the authorization form falls out, respectively. Maybe someone has already written an authorization for a new one and will tell you or just throw a smart idea?
Answer the question
In order to leave comments, you need to log in
Here is the working code (only enter the correct login and password):
<?php
$login = "qwerty";
$password = "qwerty";
$ch = curl_init("http://novafilm.tv/auth/login");
$postData = array(
"return"=>"",
"username"=>$login,
"password"=>$password,
"forget"=>0,
"login"=>"Хочу войти!",
);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_POST, 1 );
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData );
$headers = explode("\r\n", curl_exec($ch));
curl_close($ch);
if (in_array("Location: /", $headers))
print "Success!\n";
else print "Fail!\n";
</code>
Here is the working code
var answer
$.ajax({
url:'http://novafilm.tv/auth/login',
type: 'post',
data:{
username: 'ИМЯ',
password: 'ПАРОЛЬ',
login:'Хочу войти!',
return: '',
forget: 0
},
success:function(result)
{
answer = result;
},
error:function(){
alert('Something wrong');
}
});
var handlerPath = 'xmlhttp.php';
function createRequest() {
// Создание объекта XMLHttpRequest отличается для Internet Explorer и других обозревателей, поэтому для совместимости эту операцию приходиться дублировать разными способами
if (window.XMLHttpRequest) req = new XMLHttpRequest(); // normal browser
else if (window.ActiveXObject) { // IE
try {
req = new ActiveXObject('Msxml2.XMLHTTP'); // IE разных версий
} catch (e){} // может создавать
try { // объект по разному
req = new ActiveXObject('Microsoft.XMLHTTP');
} catch (e){}
}
return req;
}
function getData(handlerPath, parameters) {
// Создаем запрос
req = createRequest();
if (req) {
// Отправляем запрос методом POST с обязательным указанием файла обработчика (true - асинхронный режим включен)
req.open("POST", handlerPath, false);
// При использовании объекта XMLHttpRequest с методом POST требуется дополнительно отправлять header
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
// Передаем необходимые параметры (несколько параметров разделяются амперсандами)
req.send(parameters);
// Для статуса "OK"
if (req.status == 200) {
// Получаем ответ функции в виде строки
var rData = req.responseText;
// Проверяем данные с помощью регулярных выражений, после выполняем функцию eval()
var eData = !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(rData.replace(/"(\\.|[^"\\])*"/g, ''))) && eval('(' + rData + ')');
// Создаем массив данных
var eArray = new Object(eData);
} else {
alert("Не удалось получить данные:\n" + req.statusText);
}
} else {
alert("Браузер не поддерживает AJAX");
}
return eArray;
}
// вызов функции AJAX запроса
getData(handlerPath,'username=USERNAME&password=PASSWORD&login=%D0%A5%D0%BE%D1%87%D1%83+%D0%B2%D0%BE%D0%B9%D1%82%D0%B8!&return=&forget=0');
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question