LINUX.ORG.RU

странное поведение ОДНОГО И ТОГО ЖЕ скрипта


0

1

вообщем, есть:

localhost, мой ноут
dedicated, дедик в германии
есть скрипт, который задает статус в этом вашем вконтактике
у меня он работает, на дедике — нет

навтыкал дебагов, вот что получил:

dedic:

Auth result: HTTP/1.1 302 Found
Server: nginx/0.7.59
Date: Fri, 05 Aug 2011 20:34:28 GMT
Content-Type: text/html; charset=windows-1251
Connection: keep-alive
X-Powered-By: PHP/5.2.0-8+etch13
Pragma: no-cache
Cache-control: no-store
Set-Cookie: remixchk=5; expires=Fri, 27-Jul-2012 16:00:08 GMT; path=/; domain=.vkontakte.ru
Set-Cookie: remixmid=21***; expires=Wed, 15-Aug-2012 13:39:55 GMT; path=/; domain=login.userapi.com
Set-Cookie: remixpassword=***; expires=Tue, 14-Aug-2012 05:12:49 GMT; path=/; domain=login.userapi.com
Location: http://durov.ru/index.html#0;sid=daab412163dcb4d3399912c7b0f8****
Content-Length: 0


Request result: 

localhost:

Auth result: HTTP/1.1 302 Found
Server: nginx/0.7.59
Date: Fri, 05 Aug 2011 20:35:36 GMT
Content-Type: text/html; charset=windows-1251
Connection: keep-alive
X-Powered-By: PHP/5.2.6-1+lenny3
Pragma: no-cache
Cache-control: no-store
Set-Cookie: remixchk=5; expires=Sun, 29-Jul-2012 02:49:57 GMT; path=/; domain=.vkontakte.ru
Set-Cookie: remixmid=***; expires=Sun, 12-Aug-2012 11:20:46 GMT; path=/; domain=login.userapi.com
Set-Cookie: remixpassword=***; expires=Sun, 29-Jul-2012 17:25:15 GMT; path=/; domain=login.userapi.com
Location: http://durov.ru/index.html#0;sid=4e8888ff05be65a07c3350dd64***
Vary: Accept-Encoding
Content-Length: 0


Request result: {"ok":1,"h":false}

что за нахер?!

★★★★★

snoopcat> есть скрипт, который задает статус в этом вашем вконтактике

В нашем?

snoopcat> что за нахер?!

42

sdio ★★★★★
()

чем производится обращение к web-странице? wget? curl?
какие версии программ на дедике и дома?

Slavaz ★★★★★
()
Ответ на: комментарий от Slavaz

home:

neko@gdetotut ~ $ curl --version
curl 7.21.7 (i686-pc-linux-gnu) libcurl/7.21.7 OpenSSL/1.0.0d zlib/1.2.5 libssh2/1.2.7
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp 
Features: AsynchDNS IPv6 Largefile NTLM SSL libz 
neko@gdetotut ~ $ php --version
PHP 5.3.6 with Suhosin-Patch (cli) (built: Jun 15 2011 08:27:41) 
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
dedic:
neko@Ubuntu-1004-lucid-64-minimal ~/twibber $ curl --version
curl 7.19.7 (x86_64-pc-linux-gnu) libcurl/7.19.7 OpenSSL/0.9.8k zlib/1.2.3.3 libidn/1.15
Protocols: tftp ftp telnet dict ldap ldaps http file https ftps 
Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz 
neko@Ubuntu-1004-lucid-64-minimal ~/twibber $ php --version
PHP 5.3.2-1ubuntu4.9 with Suhosin-Patch (cli) (built: May  3 2011 00:45:52) 
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
    with XCache v1.3.0, Copyright (c) 2005-2009, by mOo

snoopcat ★★★★★
() автор топика
Ответ на: комментарий от arsi

да с авторизацией всё ок.
в логах ВКонтактика всё ок (типа successfull auth from ип такой-та такой-та, Germany, Undefined browser)
проблема где -то дальше...

snoopcat ★★★★★
() автор топика
Ответ на: комментарий от Slavaz

там всё через либкурл
curl_exec()...
и тэ дэ

вот что интересно: на финальный реквест (обновить статус) может быть два ответа:

{«ok»:1,«h»:false} — всё хорошо

и

{«ok»:-1} — всё плохо

1) если сгенерировать URL для финального запроса (обновления статуса) ИЗ ДОМА и выполнить В ГЕРМАНИИ, получим ответ "-1", что очевидно - айпи НЕ совпадают
2) если сгенерировать URL для финального запроса В ГЕРМАНИИ и выполнить ТА ЖЕ, то получим... ПУСТОЙ ОТВЕТ. я не знаю, что это могло значить.
3) если сгенерировать URL для запроса В ГЕРМАНИИ, и выполнить ДОМА, то получим "-1".

пробовал GET'ать финальный запрос как curl'ом из CLI, так и wget'ом.

snoopcat ★★★★★
() автор топика
Ответ на: комментарий от snoopcat

у меня пока что только одно предположение: разные версии курлов (либкурлов), и-за этого в более старой версии на дедике нет авторелиректа при 302. Более новая версия курла сама редиректит. Но это просто предположение, чтобы его подтвердить, нужно уравнять версии курлов на домашнем и дедике. Есть такая возможность?

Slavaz ★★★★★
()
Ответ на: комментарий от Slavaz

а еще вот:

$vkontakte->call ('set_activity',array('ts'=>time(),'text'=>«$argv[1]»)); // Обновляем статус

time()


может в этом дело?
разные часовые пояса и всё такое..
но хоть они и разные, time() отдает одинаковое (почти) время, с разницей в ~20 секунд

snoopcat ★★★★★
() автор топика
Ответ на: комментарий от Slavaz

gdetotut curl # pacman -U curl-7.19.7-1-i686.pkg.tar.xz
предупреждение: откат версии пакета curl (7.21.7-1 => 7.19.7-1)
разрешение зависимостей...
проверка на взаимную несовместимость...
ошибка: не удалось подготовить запрос (не удалось удовлетворить зависимости)
:: libreoffice: требует curl>=7.20.0
:: raptor: требует curl>=7.21.7


:(

snoopcat ★★★★★
() автор топика
Ответ на: комментарий от Slavaz

Авторедирект - curl -L. Но при редиректе он должен в лог писать.

Tanger ★★★★★
()
Ответ на: комментарий от snoopcat
gdetotut curl # pacman -Udf curl-7.19.7-1-i686.pkg.tar.xz 
предупреждение: откат версии пакета curl (7.21.7-1 => 7.19.7-1)
разрешение зависимостей...
проверка на взаимную несовместимость...

Цели (1): curl-7.19.7-1

Размер загружаемых файлов:   0,00 МБ
Размер устанавливаемых файлов:   1,29 МБ

Приступить к установке? [Y/n] 
(1/1) проверяется целостность пакета                                                                                       [##########################################################################] 100%
(1/1) обновление curl  

вобщем откатил пакет. всё по прежнему работает...

snoopcat ★★★★★
() автор топика
Ответ на: комментарий от snoopcat

а если на дедике поставить заведомо неправильные login/password, то всё-таки пишет, что мол ошибка -1, логин и пассвд не те

snoopcat ★★★★★
() автор топика
Ответ на: комментарий от snoopcat

таки да, ошибка ну никак не в CURL'е
я пробовал сделать всё руками, wget'ом
опять же на ноутбуке моем ok
на сервере — хер

snoopcat ★★★★★
() автор топика
Ответ на: комментарий от snoopcat

можно ещё попробовать tcpdump'ом или wireshark'ом посмотреть, что происходит при отправке запроса дома и на дедике

Slavaz ★★★★★
()
Ответ на: комментарий от Slavaz

уу.. у меня пока инетов нету нормаьлных поставить wireshark (gprs)
а как домой приеду в город — так можно этот скрипт и на домашний ноут повесить (у него uptime 24/7, так что не страшно)

snoopcat ★★★★★
() автор топика

дай угадаю, сервер в нетдиректе?

вконтакте забанил на своей стороне много подсетей нетдиректа

xtraeft ★★☆☆
()
Ответ на: комментарий от snoopcat

и я уже сказа, что в логах вконтактика есть запись о том, что с ипа 44.траляля [германия] была авторизация
но дальше auth'а не идёт

snoopcat ★★★★★
() автор топика
Ответ на: комментарий от snoopcat

да, это netdirect если мне память не изменяет

год-два назад оттуда валила куча грязи на вконтакте.ру, и они вот так глобально решили проблему

xtraeft ★★☆☆
()
Ответ на: комментарий от xtraeft

щас попробую
только разберусь как:D

snoopcat ★★★★★
() автор топика
Ответ на: комментарий от snoopcat

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

ну и бан там не тупой drop пакетов видимо

проведи еще эксперимент - попробуй запустить свой скрипт с другого сервера, только не .de

xtraeft ★★☆☆
()

писал уже в другой теме

curl_setopt($this->curlh, CURLOPT_FOLLOWLOCATION, false);

включи, и посмотри нормальный выхлоп

xtraeft ★★☆☆
()

насколько мне известно выписанный токен в ВК привязан к ипу на какой выписывался

anonymous
()
Ответ на: комментарий от snoopcat

проверь дедик так:

ssh -D 6666 dedic.de

потом браузер настраиваешь на этот socks и идешь на свой вконтакик

sdio ★★★★★
()
Ответ на: комментарий от xtraeft

короче поднял у себя на стороне (russia,chelyabinsk) прокси-сервер (squid)
setopt CURL_SETOPT, PROXY, «прокси»
запустил на германском — всё ок..
видимо таки да, банят.
или не банят, просто из германии запрещают входить)

snoopcat ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.