php curl парралельная авторизация

Q
На сайте с 05.08.2013
Offline
1
1999

Здравствуйте всем!

Ребята проблема в следующем. Мне нужно с формы Login на сайте http://nk-motors.com/ вверху кнопычка)))) передать данные формы авторизации на обработчик с другого сайта http://auct.nk-motors.com/aj_neo

Проблема в том что при неверном логине и пароле запрос обрабатывается и присылается ответ в виде страницы с ошибкой на которой (по немецки правда) написано что неверный логин и пароль, по логике значит работает....но при отправке верного логина и пароля присылается пустая страница....так вот в этой странице при успешной авторизации должен прийти кукис aj_user в зашифрованном виде....так вот я немогу его получить...мне присылается тот же самый кукис который ушел с моего сайта и тот сайт его же и вернул....

Тестовые логин и пароль при которых можно войти

Логин: guest

Пасс: guest

ajax--------

function loginpost() {

var data = $('#authuc').serialize();
$.ajax({
type: "POST",
data: data,
url: "/auth.php",
success: function(data) {alert(data);},
error: function(data) {alert(data+'ERROR');}
});}

содержимое auth.php --------------

<?php

$login = $_POST['username'];
$pass = $_POST['password'];
$ref = $_POST['ref'];
$is_login = $_POST['is_login'];
$url = 'http://auct.nk-motors.com/aj_neo';
$post_data = 'is_login=1&username='.$login.'&password='.$pass.'&ref='.$ref;

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);

echo $output;
?>

так же сама форма-------

<form method="POST" action=""  id="authuc">

<input name="is_login" type="hidden" value="1">
<div style="position: absolute; margin-top: 70px; margin-left: 80px;"><span style="font-weight: bold; font-size: 18px;">Login: </span><input name="username" type="text"></div>
<input name="ref" type="hidden" value="aj_neo">
<div style="position: absolute; margin-top: 110px; margin-left: 47px;"><span style="font-weight: bold; font-size: 18px;">Password: </span><input name="password" type="password"></div>
<div style="position: absolute; margin-top: 160px; margin-left: 220px;" id="submbutton"><input style="padding:10px;" type="button" OnClick="loginpost();" name="submit" value="ENTER"></div>
</form>

в общем как то так....немогу понять куда копать и почему обратаывает и возвращает ошибку.....а успех не возвращает.....

Буду рад хорошим примерам схожими по такой реализации или советами, а так же если поможете исправить код если не так)))) Заранее спасибо)))

:popcorn::popcorn::popcorn::popcorn::popcorn::popcorn::popcorn::popcorn::popcorn:

IL
На сайте с 20.04.2007
Offline
435
#1
Qunn:
а успех не возвращает.....

А что в headers?

CURLOPT_HEADER в 1?

Ещё можно файл с куками отдельно задавать

CURLOPT_COOKIEJAR + CURLOPT_COOKIEFILE

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
Q
На сайте с 05.08.2013
Offline
1
#2

ну я пользуюсь файрбагом на мозиле что бы заголовки просмотреть. а есть смысл записывать кукисы в файл если я их и так вижу через инспектор?

вот пример отправки:

Заголовки ответа

Cache-Control: private, must-revalidate

Connection: close

Content-Type: text/html; charset=UTF-8

Date: Thu, 22 Aug 2013 11:10:54 GMT

P3P: CP="NOI NID ADMa OUR IND UNI COM NAV"

Server: Apache

Set-Cookie: SN513b14d96b1d4=b9502b02bbde52bcc3f557c3ff199b4e; path=/

Transfer-Encoding: chunked

Заголовки запроса

Accept: */*

Accept-Encoding: gzip, deflate

Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3

Content-Length: 51

Content-Type: application/x-www-form-urlencoded; charset=UTF-8

Cookie: SN513b14d96b1d4=b9502b02bbde52bcc3f557c3ff199b4e; webfxtab_resourcesPane=3

Host: nk-motors.com

Referer: http://nk-motors.com/

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0

X-Requested-With: XMLHttpRequest

как видите coockie ответа идентичны запросу.....а должен быть другой кукис.....немогу разобраться почему так....

IL
На сайте с 20.04.2007
Offline
435
#3

Вы путаете куки, полученные PHP (при помощи CURL) и куки, полученные браузером.

Q
На сайте с 05.08.2013
Offline
1
#4

ага....вот она в чем фишка....это куки браузера...понял....так хорошо, я попробую это сделать, сразу потом отпишусь какой будет результат, а я думал что это куки и есть те которые нужны....получается что принятые куки у меня никуда не записываются.......

тему не закрывать_)))) попробую отпишусь)))

Q
На сайте с 05.08.2013
Offline
1
#5

Ну что могу сказать, куки я получаю на отлично.....спасибо Вам за идею насчет COOKIEJAR, я использовал более сложное значение с preg_match_all получил кукисы и занес в переменную.....в общем все здорово но снова столкнулся с проблемой когда выполняю setcookie() и добавляю их себе, то 2 проблемы:

1. Символы кодируются в ASCII. Соотвественно как мне не доспустить изменения?????

2. Узел от которого добавляется кукис является nk-motors.com а мне нужно что бы этот кукис еще и применялся к auct.nk-motors.com

Дайте мне еще пинка для раздумий плиз))))

T
На сайте с 19.09.2012
Offline
29
#6
Qunn:
2. Узел от которого добавляется кукис является nk-motors.com а мне нужно что бы этот кукис еще и применялся к auct.nk-motors.com

По определению - если при установке куки указать домен ".nk-motors.com", то установленные куки должны будут распространяться и на поддомены.

---------- Добавлено 23.08.2013 в 10:14 ----------

Qunn:
1. Символы кодируются в ASCII. Соотвественно как мне не доспустить изменения?????

Не допустить изменения кем и чего?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий