Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Заливка фотки на сервак контакта PHP вопрос |

18.06.2009, 17:31
|
|
Новичок
Регистрация: 28.07.2008
Сообщений: 25
Провел на форуме: 139293
Репутация:
0
|
|
Заливка фотки на сервак контакта PHP вопрос
Привет. Столкнулся с проблемой автоматической заливки фотки на сервак. Вот следующий код..
$filename="123.jpg";
$fp=fopen($filename,"r");
if ($fp!=false)
{
$bodyimage="";
while (!feof($fp)) $bodyimage.=fgets($fp,1024);
fclose($fp);
}
$buffer=connect($proxy,$proxyport,1,genmessage($se rver,3,"/profileEdit.php?page=photo",0,$cookie));
preg_match_all("/method=\"post\" action=\"http:\/\/(.*?).vkontakte.ru\/upload.php\?act=profile&(.*?)\"/is",$buffer,$path);
$post="key=profile_photo_flood&item_id=".trim($flo od[1][0]);
$buffer=connect($proxy,$proxyport,1,genmessage($se rver,4,"/captchaFlood.php",$post,$cookie));
$sendhost=$path[1][0].".$server";
$boundary="----------oQwjKuMeah9zw9GmYnadCO";
$content="--$boundary\r\n";
$content.="Content-Disposition: form-data; name=\"subm\"\r\n";
$content.="\r\n";
$content.="1\r\n";
$content.="--$boundary\r\n";
$content.="Content-Disposition: form-data; name=\"file\"; filename=\"$filename\"\r\n";
$content.="Content-Type: image/jpeg\r\n";
$content.="\r\n";
$content.=$bodyimage."\r\n";
$content.="--$boundary--";
$poststr="POST /upload.php?act=profile&".trim($path[2][0])." HTTP/1.0\r\n";
$poststr.="User-Agent: Opera/9.64 (Windows NT 6.1; U; ru) Presto/2.1.1\r\n";
$poststr.="Host: $sendhost\r\n";
$poststr.="Accept: text/html, application/xml;q=0.9, application/xhtml xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\n";
$poststr.="Accept-Language: ru-RU,ru;q=0.9,en;q=0.8\r\n";
$poststr.="Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1\r\n";
$poststr.="Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0\r\n";
$poststr.="Referer: http://vkontakte.ru/profileEdit.php?page=photo\r\n";
$poststr.="Cookie: $cookie\r\n";
$poststr.="Cookie2: \$Version=1\r\n";
$poststr.="Proxy-Connection: Keep-Alive\r\n";
$poststr.="Content-Length: ".strlen($content)."\r\n";
$poststr.="Content-Type: multipart/form-data; boundary=----------$boundary\r\n\r\n";
$poststr.=$content;
echo $poststr;
$buffer=connect($sendhost,80,1,$poststr);
echo $buffer;
функция genmessage это просто генерация запроса.. на нее не смотрим.. и так собсно не грузит.. контакт возвразщает следующий результат..
HTTP/1.1 302 Found Server: nginx/0.6.32 Date: Thu, 18 Jun 2009 13:24:47 GMT Content-Type: text/html; charset=-1251 Connection: close X-Powered-By: PHP/5.2.6-1+lenny3 Pragma: no-cache Cache-control: private, must-revalidate Location: http://vkontakte.ru/profileEdit.php?page=donephoto&mid=41170479&server =955&photo=&hash=d771663a7840ff38cffd88655b81f299& message_code=0 Content-Length: 0
что есть отрицательныфй результат загрузки.. раньше сталкивался с загрузкой фоток все получалось.. но тут уже два дня парюсь.. никак не получается.. помогите.. в чем моя ошибка.. все прочие параметры типа хэша и прочего передаем.. все ок.. заранее спасибо
|
|
|

18.06.2009, 17:39
|
|
Участник форума
Регистрация: 23.06.2007
Сообщений: 188
Провел на форуме: 1051973
Репутация:
116
|
|
юзай курл
|
|
|

18.06.2009, 17:49
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
по идее не ноль должно быть, как думаешь? 
|
|
|

18.06.2009, 17:52
|
|
Новичок
Регистрация: 28.07.2008
Сообщений: 25
Провел на форуме: 139293
Репутация:
0
|
|
Сообщение от Pashkela
по идее не ноль должно быть, как думаешь? 
это уже ответ сервака вконтакте..
наш content lenght
$poststr.="Content-Length: ".strlen($content)."\r\n";
|
|
|

18.06.2009, 17:58
|
|
Познавший АНТИЧАТ
Регистрация: 27.08.2007
Сообщений: 1,107
Провел на форуме: 5386281
Репутация:
1177
|
|
Перепеши под курлы, как сказали выше.
|
|
|

18.06.2009, 18:09
|
|
Познавший АНТИЧАТ
Регистрация: 15.01.2008
Сообщений: 1,166
Провел на форуме: 2459557
Репутация:
606
|
|
Какая разница курлы не курлы? HTTP протокол один на всех.
Просто нужно составить заголовок корректный.
|
|
|

18.06.2009, 18:17
|
|
Познавший АНТИЧАТ
Регистрация: 15.01.2008
Сообщений: 1,166
Провел на форуме: 2459557
Репутация:
606
|
|
Это заголовок аплоада.
POST /upload.php?act=profile&mid=айдитвой&hash= еш&rhash=хеш HTTP/1.1
User-Agent: Opera/9.64 (Windows NT 5.1; U; MRA 5.4 (build 02647); ru) Presto/2.1.1
Host: cs267.vkontakte.ru
Accept: application/xhtml+voice+xml;version=1.2, application/x-xhtml+voice+xml;version=1.2, text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Expect: 100-continue
Referer: http://vkontakte.ru/profileEdit.php?page=photo
Cookie: куки
Cookie2: $Version=1
Connection: Keep-Alive
Content-Length: 58686
Content-Type: multipart/form-data; boundary=----------OYSqFLETjb1GpbkQbPHWXg
------------OYSqFLETjb1GpbkQbPHWXg
Content-Disposition: form-data; name="subm"
1
------------OYSqFLETjb1GpbkQbPHWXg
Content-Disposition: form-data; name="photo"; filename="jpg.jpg"
Content-Type: image/jpeg
содержимое фотки
------------OYSqFLETjb1GpbkQbPHWXg--
Затем сервак возвращает 302 - скрипт должен загрузить url, в заголовке Location(это видимо подтверждение загрузки типа)
|
|
|

18.06.2009, 19:36
|
|
Новичок
Регистрация: 28.07.2008
Сообщений: 25
Провел на форуме: 139293
Репутация:
0
|
|
но ведь я в пример и привел тоже самое.. запрос абсолютно корректный.. можешь сам помотреть.. в том то и дело.. я не понимаю что не так сделал.. все ведь верно!!
|
|
|

18.06.2009, 20:12
|
|
Познавший АНТИЧАТ
Регистрация: 15.01.2008
Сообщений: 1,166
Провел на форуме: 2459557
Репутация:
606
|
|
Сообщение от R1der23
но ведь я в пример и привел тоже самое.. запрос абсолютно корректный.. можешь сам помотреть.. в том то и дело.. я не понимаю что не так сделал.. все ведь верно!!
Затем сервак возвращает 302 - скрипт должен загрузить url, в заголовке Location(это видимо подтверждение загрузки типа)
Это сделал?
|
|
|

18.06.2009, 19:49
|
|
Познавший АНТИЧАТ
Регистрация: 07.05.2006
Сообщений: 1,031
Провел на форуме: 5885100
Репутация:
773
|
|
енот же писал это... посмар be него
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|