19.02.2010, 09:44 | #1 |
Специалист
Регистрация: 09.12.2009
Сообщений: 193
Вес репутации: 0
|
не могу авторизоваться CURL-ом
Есть у меня скрипт, который вытаскивает "Экспорт данных".
Все работало около месяца, а сегодня с утра увидел такое: "Неверный логин и/или пароль" Сразу скажу, что скрипт этот запускаю раз в несколько часов и вытаскиваю только несколько ЦВС-ок. Чтобы не говорили потом, что я кладу сервер ) Подвис на минуту, испугался, проверил в разных браузерах - всё работает, все правильно. Однако сапа не пускает именно скрипт. "Заголовки", подумал я, и списал все заголовки с ФФ. Бился бился целый час - нифига не работает. на АПИ переписываться не хочется... У меня у одного такая проблема? и конечно же проверял, что посылаю сапе. Код запроса: $aHeaders[] = "Host: www.sape.ru"; $aHeaders[] = "Accept: text/html,applicationxhtml+xml,application/xml;q=0.9,*/*;q=0.8"; $aHeaders[] = "Cache-Control: no-cache, must-revalidatee"; $aHeaders[] = "Connection: keep-alive"; $aHeaders[] = "Keep-Alive: 300"; $aHeaders[] = "Pragma: no-cache"; $aHeaders[] = "Location: {$sURL}"; $aHeaders[] = "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7"; $aHeaders[] = "Accept-Language: ru,en-us;q=0.7,en;q=0.3"; curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Macintosh; U; YB/3.5.1 ; Intel Mac OS X 10_6_2; en-us) AppleWebKit/531.21.8 (KHTML, like Gecko) Version/4.0.4 Safari/531.21.10' curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, $aHeaders); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); if (!empty($aPostFields)) { curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $aPostFields); } curl_setopt($ch, CURLOPT_COOKIEJAR, './cookie.txt'); curl_setopt($ch, CURLOPT_COOKIEFILE, './cookie.txt'); $sResponse = curl_exec ($ch); curl_close ($ch); $aTmp = explode("\r\n\r\n",$sResponse); unset($aTmp[0]); return implode("\r\n\r\n",$aTmp);; сам запрос банален: $this->__getUrl('https://auth.sape.ru/login/?r=https%3A%2F%2Fwww.sape.ru%2Fsites.php',$aPostFi elds) |
19.02.2010, 09:45 | #2 |
Эксперт
Регистрация: 13.05.2008
Сообщений: 7,497
Вес репутации: 387
|
Переписывайтесь на API.
__________________
|
19.02.2010, 09:49 | #3 |
Bannеd
Регистрация: 17.09.2008
Сообщений: 6,446
Вес репутации: 370
|
drak, так и не нашел в коде, где сама авторизация у вас
|
19.02.2010, 09:55 | #4 |
Специалист
Регистрация: 09.12.2009
Сообщений: 193
Вес репутации: 0
|
$aPostFields = array();
$aPostFields['username'] = urlencode($this->login_data[0]); $aPostFields['password'] = urlencode($this->login_data[1]); $aPostFields['submit'] = 'Войти'; $this->__getUrl('https://auth.sape.ru/login/?r=https%3A%2F%2Fwww.sape.ru%2Fsites.php',$aPostFi elds) Добавлено через 1 минуту "$aPostFields" в коде конечно же. тут откуда-то пробел взялся )) Последний раз редактировалось drak; 19.02.2010 в 09:55. Причина: Добавлено сообщение |
19.02.2010, 10:02 | #5 | |
Bannеd
Регистрация: 17.09.2008
Сообщений: 6,446
Вес репутации: 370
|
drak,
сударь, ничего не забыли? Цитата:
|
|
19.02.2010, 10:08 | #6 |
Специалист
Регистрация: 09.12.2009
Сообщений: 193
Вес репутации: 0
|
это если с главной логиниться
а я логинюсь от сюда: https://auth.sape.ru/login/?r=https%...ru%2Fsites.php тут этого поля нет =) попробую, конечно, но уверен, что не помоежт Добавлено через 2 минуты не помогло =) p/s нихрена тут коллапс.. зашел в настройки площадки, а там пусто OO__OO Последний раз редактировалось drak; 19.02.2010 в 10:08. Причина: Добавлено сообщение |
19.02.2010, 10:09 | #7 |
Bannеd
Регистрация: 17.09.2008
Сообщений: 6,446
Вес репутации: 370
|
|
19.02.2010, 10:14 | #8 |
Специалист
Регистрация: 09.12.2009
Сообщений: 193
Вес репутации: 0
|
я вар_дампил логин и пароль прямо перед curl_setopt($ch, CURLOPT_POSTFIELDS, $aPostFields);
всё там правильно. не первый год в пхп. да и раньше же работал скрипт. а логин и пароль задаются в конфиге. вот рефер curl_setopt($ch, CURLOPT_REFERER, 'http://www.sape.ru/sites.php'); не думаю что он обязателен для логина. по-этому сюда не стал копипастить Добавлено через 2 минуты с локейшеном или без - разницы нет. все равно тоже самое. да мля, я же говорю, РА-БО-ТА-ЛО! сломалось седня и явно не у меня =))))) походу выходные будут веселыми, придется переписывать на АПИ =( Последний раз редактировалось drak; 19.02.2010 в 10:14. Причина: Добавлено сообщение |
19.02.2010, 10:18 | #9 | ||
Bannеd
Регистрация: 17.09.2008
Сообщений: 6,446
Вес репутации: 370
|
Цитата:
Добавлено через 2 минуты разница есть, локейшена быть не должно при методе пост Цитата:
не разглядел, а где вы указываете сурлу что нужен метод пост? где указывается контенттайп и длина передаваемых данных? Последний раз редактировалось Последний Герой; 19.02.2010 в 10:18. Причина: Добавлено сообщение |
||
19.02.2010, 11:47 | #10 |
Специалист
Регистрация: 09.12.2009
Сообщений: 193
Вес репутации: 0
|
ты точно упоратый...
if (!empty($aPostFields)) { curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $aPostFields); } грызи мануал > разница есть, локейшена быть не должно при методе пост я уже попробовла. разницы НЕТ. короче ты мне тут не поможешь, я уже понял ирефер такой может быть, если я в адресную строку тупо впишу http://www.sape.ru/sites.php будучи незалогиненным. Добавлено через 1 час 23 минуты спасибо =) починилось =))))) САМО! )))) Последний раз редактировалось drak; 19.02.2010 в 11:47. Причина: Добавлено сообщение |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
не могу авторизоваться в системе | seasick | Ошибки при работе с системой | 1 | 17.02.2009 07:15 |
Не возможно авторизоваться на сайте | superxxx | Ошибки при работе с системой | 2 | 06.02.2009 14:55 |
Не могу авторизоваться! | ne_for | Пожелания пользователей системы | 2 | 12.01.2009 08:51 |
SAPE API на PHP+curl [ помогите ] | ReVers | Вопросы по работе системы | 5 | 14.10.2008 11:12 |
XML-RPC на некоторых аккаунтах не авторизоваться | Zed | Ошибки при работе с системой | 7 | 12.10.2008 20:08 |
Часовой пояс GMT +3, время: 01:09.