Здравствуйте, surovnev, Вы писали:
S>Ну это я уже приблизительно понял. Вот этот ID как раз и присваивается когда открываешь главную страницу. И как я понял без разницы какой он главное чтоб был уникальный. Вот только как его передать вместе с запросом. т.е. как реализовать программно
S>...
S>я методом тыка и примерами из инета кое как реализовал (т.е. картинку загружает) вот только как теперь с этой картинкой передать
S>я не знаю... не знаю какой командой или запросом...
Ну вот смотрите.
| | Клиент заходит на сайт |
| | GET / HTTP/1.1
User-Agent: Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62
Host: picupic.net
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
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
|
| | |
| | А сервер ему и отвечает |
| | HTTP/1.1 200 OK
Server: nginx/0.6.36
Date: Mon, 21 May 2012 05:29:49 GMT
Content-Type: text/html
Connection: keep-alive
X-Powered-By: PHP/5.2.17
Set-Cookie: PHPSESSID=9bkckpg09o8i5oqe0kbbfvgl53; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 3923
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Фотохостинг,Хостинг картинок,Бесплатный хостинг фотографий.</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<link ..............
Обратите внимание на заголовок Set-Cookie — там прописан id клиента, присвоенный сервером. |
| | |
| | Щелкаю 'отобразить миниатюры одной картинкой' |
| | POST / HTTP/1.1
User-Agent: Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62
Host: picupic.net
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
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Encoding: gzip, deflate
Referer: http://picupic.net/
Cookie: PHPSESSID=9bkckpg09o8i5oqe0kbbfvgl53
Connection: Keep-Alive
Content-Length: 323
Content-Type: multipart/form-data; boundary=----------QgAK0HI9VuWMH0kEyRVTHi
Тело запроса — множественное
Часть 1
Content-Disposition: form-data; name="size_multi"
80
Часть 2
Content-Disposition: form-data; name="toone"
1
Часть 3
Content-Disposition: form-data; name="file_upload"; filename=""
В Cookie клиент передает id, выданный сервером.
Части multipart-запроса — это параметры будущей загрузки картинки.
Например, size_multi — это размер превьюшек.
В данном запросе он пока 80 (то есть, 80 на 80 пикселей). |
| | |
| | Устанавливаю размер превью 150 на 150 |
| | POST / HTTP/1.1
User-Agent: Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62
Host: picupic.net
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
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Encoding: gzip, deflate
Referer: http://picupic.net/
Cookie: PHPSESSID=9bkckpg09o8i5oqe0kbbfvgl53
Connection: Keep-Alive
Content-Length: 411
Content-Type: multipart/form-data; boundary=----------HOVnBcZ97JvReeL9wSog8M
Тело запроса — множественное
Часть 1
Content-Disposition: form-data; name="size_multi"
150
Часть 2
Content-Disposition: form-data; name="toone"
1
Часть 3
Content-Disposition: form-data; name="color"
0
Часть 4
Content-Disposition: form-data; name="file_upload"; filename=""
Снова Cookie. К чему бы это ?
Кстати, размер превью теперь 150 на 150. См. выделенное. |
| | |
| | Делаю черный цвет фона |
| | POST / HTTP/1.1
User-Agent: Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62
Host: picupic.net
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
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Encoding: gzip, deflate
Referer: http://picupic.net/
Cookie: PHPSESSID=9bkckpg09o8i5oqe0kbbfvgl53
Connection: Keep-Alive
Content-Length: 411
Content-Type: multipart/form-data; boundary=----------X6jN5dvwAF93bNePGRg07B
Тело запроса — множественное
Часть 1
Content-Disposition: form-data; name="size_multi"
150
Часть 2
Content-Disposition: form-data; name="toone"
1
Часть 3
Content-Disposition: form-data; name="color"
1
Часть 4
Content-Disposition: form-data; name="file_upload"; filename=""
color=1 — это, очевидно, означает черный цвет.
Пока я его не поменял, было color=1 (см. предыдущие запросы). |
| | |
| | И, наконец, загружаю картинку |
| | POST /add_photo.php HTTP/1.1
User-Agent: Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62
Host: picupic.net
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
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Encoding: gzip, deflate
Referer: http://picupic.net/
Cookie: PHPSESSID=9bkckpg09o8i5oqe0kbbfvgl53
Connection: Keep-Alive
Content-Length: 257305
Content-Type: multipart/form-data; boundary=----------h6PznwZWpAXR2ZgQ5I4bBG
Тело запроса — множественное
Часть 1
Content-Disposition: form-data; name="size"
80
Часть 2
Content-Disposition: form-data; name="UploadFile"; filename="Безымянный.jpg"
Content-Type: image/jpeg
Тело запроса 256933 байт
Часть 3
Content-Disposition: form-data; name="but_addphoto2"
По этой части, надеюсь, вопросов нет. |
| | |
В том, чтобы "отреверсить" протокол, а потом заставить свое приложение выполнять то же самое,
нет ничего сложного, нужна лишь внимательность и аккуратность. Типы параметров, а также их
значения, Вы сможете легко получить, щелкая элементы управления на странице загрузки и
изучая запросы-ответы.