Re[10]: Проблема с запросом НTTPSend
От: surovnev  
Дата: 21.05.12 07:12
Оценка:
Здравствуйте, okman, Вы писали:

O>Здравствуйте, surovnev, Вы писали:


S>>Ну это я уже приблизительно понял. Вот этот ID как раз и присваивается когда открываешь главную страницу. И как я понял без разницы какой он главное чтоб был уникальный. Вот только как его передать вместе с запросом. т.е. как реализовать программно


S>>...


S>>я методом тыка и примерами из инета кое как реализовал (т.е. картинку загружает) вот только как теперь с этой картинкой передать


S>>я не знаю... не знаю какой командой или запросом...


O>Ну вот смотрите.

O>
  Клиент заходит на сайт
O>

O>GET / HTTP/1.1
O>User-Agent: Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62
O>Host: picupic.net
O>Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
O>Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
O>Accept-Encoding: gzip, deflate
O>Connection: Keep-Alive


O>
  А сервер ему и отвечает
O>

O>HTTP/1.1 200 OK
O>Server: nginx/0.6.36
O>Date: Mon, 21 May 2012 05:29:49 GMT
O>Content-Type: text/html
O>Connection: keep-alive
O>X-Powered-By: PHP/5.2.17
O>Set-Cookie: PHPSESSID=9bkckpg09o8i5oqe0kbbfvgl53; path=/
O>Expires: Thu, 19 Nov 1981 08:52:00 GMT
O>Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
O>Pragma: no-cache
O>Content-Length: 3923

O><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
O><html xmlns="http://www.w3.org/1999/xhtml">
O><head>
O><title>Фотохостинг,Хостинг картинок,Бесплатный хостинг фотографий.</title>
O><link href="css/style.css" rel="stylesheet" type="text/css" />
O><meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
O><link ..............

O>Обратите внимание на заголовок Set-Cookie — там прописан id клиента, присвоенный сервером.

O>
  Щелкаю 'отобразить миниатюры одной картинкой'
O>

O>POST / HTTP/1.1
O>User-Agent: Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62
O>Host: picupic.net
O>Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
O>Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
O>Accept-Encoding: gzip, deflate
O>Referer: http://picupic.net/
O>Cookie: PHPSESSID=9bkckpg09o8i5oqe0kbbfvgl53
O>Connection: Keep-Alive
O>Content-Length: 323
O>Content-Type: multipart/form-data; boundary=----------QgAK0HI9VuWMH0kEyRVTHi
O>Тело запроса — множественное
O>Часть 1
O>Content-Disposition: form-data; name="size_multi"
O>80
O>Часть 2
O>Content-Disposition: form-data; name="toone"
O>1
O>Часть 3
O>Content-Disposition: form-data; name="file_upload"; filename=""

O>В Cookie клиент передает id, выданный сервером.
O>Части multipart-запроса — это параметры будущей загрузки картинки.
O>Например, size_multi — это размер превьюшек.
O>В данном запросе он пока 80 (то есть, 80 на 80 пикселей).

O>
  Устанавливаю размер превью 150 на 150
O>

O>POST / HTTP/1.1
O>User-Agent: Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62
O>Host: picupic.net
O>Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
O>Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
O>Accept-Encoding: gzip, deflate
O>Referer: http://picupic.net/
O>Cookie: PHPSESSID=9bkckpg09o8i5oqe0kbbfvgl53
O>Connection: Keep-Alive
O>Content-Length: 411
O>Content-Type: multipart/form-data; boundary=----------HOVnBcZ97JvReeL9wSog8M
O>Тело запроса — множественное
O>Часть 1
O>Content-Disposition: form-data; name="size_multi"
O>150
O>Часть 2
O>Content-Disposition: form-data; name="toone"
O>1
O>Часть 3
O>Content-Disposition: form-data; name="color"
O>0
O>Часть 4
O>Content-Disposition: form-data; name="file_upload"; filename=""

O>Снова Cookie. К чему бы это ?
O>Кстати, размер превью теперь 150 на 150. См. выделенное.

O>
  Делаю черный цвет фона
O>

O>POST / HTTP/1.1
O>User-Agent: Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62
O>Host: picupic.net
O>Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
O>Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
O>Accept-Encoding: gzip, deflate
O>Referer: http://picupic.net/
O>Cookie: PHPSESSID=9bkckpg09o8i5oqe0kbbfvgl53
O>Connection: Keep-Alive
O>Content-Length: 411
O>Content-Type: multipart/form-data; boundary=----------X6jN5dvwAF93bNePGRg07B
O>Тело запроса — множественное
O>Часть 1
O>Content-Disposition: form-data; name="size_multi"
O>150
O>Часть 2
O>Content-Disposition: form-data; name="toone"
O>1
O>Часть 3
O>Content-Disposition: form-data; name="color"
O>1
O>Часть 4
O>Content-Disposition: form-data; name="file_upload"; filename=""

O>color=1 — это, очевидно, означает черный цвет.
O>Пока я его не поменял, было color=1 (см. предыдущие запросы).

O>
  И, наконец, загружаю картинку
O>

O>POST /add_photo.php HTTP/1.1
O>User-Agent: Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62
O>Host: picupic.net
O>Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
O>Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
O>Accept-Encoding: gzip, deflate
O>Referer: http://picupic.net/
O>Cookie: PHPSESSID=9bkckpg09o8i5oqe0kbbfvgl53
O>Connection: Keep-Alive
O>Content-Length: 257305
O>Content-Type: multipart/form-data; boundary=----------h6PznwZWpAXR2ZgQ5I4bBG
O>Тело запроса — множественное
O>Часть 1
O>Content-Disposition: form-data; name="size"
O>80
O>Часть 2
O>Content-Disposition: form-data; name="UploadFile"; filename="Безымянный.jpg"
O>Content-Type: image/jpeg
O>Тело запроса 256933 байт
O>Часть 3
O>Content-Disposition: form-data; name="but_addphoto2"

O>По этой части, надеюсь, вопросов нет.


O>В том, чтобы "отреверсить" протокол, а потом заставить свое приложение выполнять то же самое,

O>нет ничего сложного, нужна лишь внимательность и аккуратность. Типы параметров, а также их
O>значения, Вы сможете легко получить, щелкая элементы управления на странице загрузки и
O>изучая запросы-ответы.

Спасибо за помощь. Всё получилось
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.