Вверх ↑
Этот топик читают: Гость
Ответов: 3514
Рейтинг: 184
#1: 2009-02-21 13:53:00 ЛС | профиль | цитата
Наверное многих уже задолбал этот вопрос про POST запрос.. в общем нужно сделать чекалку баланса на интернете (дабы не уходить в минус и т.д.).

Лог авторизации (неверные логин-пароль).
code_11886.txt

Лог с верными паролями:
code_11888.txt

Вот что "изобрел" (так и не пойму как что куда отправлять..)
Add(MainForm,2953706,140,196){
Width=593
Height=461
}
Add(Button,5349034,280,182)
{
Left=80
Top=60
link(onClick,8659485:doEvent1,[])
}
Add(Edit,511036,378,77)
{
Left=15
Top=15
Width=120
Text="1"
}
Add(Edit,15545401,427,77)
{
Left=15
Top=35
Width=120
Text="2"
}
Add(TCP_Client,5988577,483,266)
{
Port=80
link(Data,2862511:Text,[])
}
Add(HTTP_PostBuilder,13551532,427,189)
{
URL="http://stat.trunkcom.ru/cgi-bin/clients/login"
Host="Host: stat.trunkcom.ru"
Referer="Referer: http://stat.trunkcom.ru/cgi-bin/clients/login"
link(onBuild,2862511:doText,[])
link(Content,2005711:Value,[])
}
Add(FormatStr,8767267,378,126)
{
Mask="action=validate&login=%1&password=%2&Submit=%F7%CF%CA%D4%C9%21"
link(onFString,2005711:doValue,[])
link(Str1,511036:Text,[])
link(Str2,15545401:Text,[(391,118)(433,118)])
}
Add(Memory,2005711,427,126)
{
}
Add(Hub,8659485,329,182)
{
link(onEvent1,8767267:doString,[(350,188)(350,132)])
link(onEvent2,13551532:doBuild,[])
}
Add(StrList,2862511,490,168)
{
}

Вопрос 1: Как отправлять POST на сервер?
Вопрос 1.1: Как получать от него ответ?
Вопрос 2: Почему полученные куки (Set-Cookie: CGISESSID=ad3932a5d8224c5b63dcaac4d08d6ca9;) в следующем GET запросе превращаются в 1c28916b729858303258f2110c4d220e ?
карма: 0
0
файлы: 2code_11886.txt [972B] [138], code_11888.txt [1.9KB] [146]
Администрация
Ответов: 15295
Рейтинг: 1519
#2: 2009-02-21 15:13:01 ЛС | профиль | цитата
code_11889.txt

карма: 27
1
файлы: 1code_11889.txt [1.1KB] [202]
Голосовали:Астрамак
Ответов: 3514
Рейтинг: 184
#3: 2009-02-21 16:36:03 ЛС | профиль | цитата
Ок, это я понял (хот ьи нет возможности проверить - интернет на этом аккаунте не все страницы открывает..).
А что на счет второго вопроса?
карма: 0
0
Администрация
Ответов: 15295
Рейтинг: 1519
#4: 2009-02-21 16:44:50 ЛС | профиль | цитата
Астрамак писал(а):
Вопрос 2: Почему полученные куки (Set-Cookie: CGISESSID=ad3932a5d8224c5b63dcaac4d08d6ca9;) в следующем GET запросе превращаются в 1c28916b729858303258f2110c4d220e ?

потому что если раз полученные куки не отправить обратно, то сервер считает, что подключается новый клиент и генерит для него вывый SID
карма: 27
1
Голосовали:Астрамак
Ответов: 3514
Рейтинг: 184
#5: 2009-02-21 17:07:16 ЛС | профиль | цитата
Ммм...т.е. я смогу заходить только "со второго раза"?
Коннектимся, никаких куки не отправляем, получаем новые, коннектимся и входим с новыми. Так?
------------ Дoбавленo:

Add(MainForm,2953706,140,175){
Width=599
Height=467
}
Add(Button,5349034,140,231)
{
Left=255
Top=15
link(onClick,8659485:doEvent1,[])
}
Add(Edit,511036,238,126)
{
Left=15
Top=15
Width=120
Text="1"
}
Add(Edit,15545401,287,126)
{
Left=135
Top=15
Width=120
Text="2"
}
Add(TCP_Client,5988577,343,280)
{
Port=80
IP="83.234.72.2"
link(onRead,3968871:doAdd,[])
link(Data,2862511:Text,[(356,271)(349,271)])
}
Add(HTTP_PostBuilder,13551532,287,238)
{
URL="http://stat.trunkcom.ru/cgi-bin/clients/login"
Host="Host: stat.trunkcom.ru"
Referer="Referer: http://stat.trunkcom.ru/cgi-bin/clients/login"
link(onBuild,2862511:doText,[])
link(Content,2005711:Value,[])
}
Add(FormatStr,8767267,238,175)
{
Mask="action=validate&login=%1&password=%2&Submit=%F7%CF%CA%D4%C9%21"
link(onFString,2005711:doValue,[])
link(Str1,511036:Text,[])
link(Str2,15545401:Text,[(251,167)(293,167)])
}
Add(Memory,2005711,287,175)
{
}
Add(Hub,8659485,196,231)
{
OutCount=3
link(onEvent1,8767267:doString,[(224,237)(224,181)])
link(onEvent2,13551532:doBuild,[])
link(onEvent3,3473778:doEvent1,[(256,251)(256,286)])
}
Add(Memo,3968871,406,280)
{
Left=15
Top=40
Width=555
Height=375
ScrollBars=3
}
Add(StrList,2862511,343,217)
{
}
Add(Hub,3473778,301,280)
{
link(onEvent1,5988577:doOpen,[])
link(onEvent2,5988577:doSend,[(325,293)(325,300)])
}
Выдает ошибку, что страница не найдена...
карма: 0
0
Администрация
Ответов: 15295
Рейтинг: 1519
#6: 2009-02-21 17:45:31 ЛС | профиль | цитата
Астрамак писал(а):
Ммм...т.е. я смогу заходить только "со второго раза"?
Коннектимся, никаких куки не отправляем, получаем новые, коннектимся и входим с новыми. Так?

весь этот процесс во всех подробностях представлен в WikiCenter.sha

Астрамак писал(а):
Выдает ошибку, что страница не найдена...

см code_11889.txt
карма: 27
0
Ответов: 3514
Рейтинг: 184
#7: 2009-02-21 17:52:54 ЛС | профиль | цитата
Add(MainForm,2953706,140,175){
Width=599
Height=467
}
Add(Button,5349034,224,231)
{
Left=255
Top=15
link(onClick,11021987:doBuild,[])
}
Add(Edit,511036,266,147)
{
Left=15
Top=15
Width=120
Text="1"
}
Add(Edit,15545401,308,147)
{
Left=135
Top=15
Width=120
Text="2"
}
Add(TCP_Client,5988577,448,231)
{
Port=80
IP="83.234.72.2"
link(onRead,3968871:doAdd,[])
}
Add(HTTP_PostBuilder,13551532,350,231)
{
URL="http://stat.trunkcom.ru/cgi-bin/clients/login"
Host="stat.trunkcom.ru"
Referer="http://stat.trunkcom.ru/cgi-bin/clients/login"
link(onBuild,3473778:doEvent1,[])
}
Add(Memo,3968871,511,231)
{
Left=15
Top=40
Width=555
Height=375
ScrollBars=3
}
Add(Hub,3473778,406,231)
{
link(onEvent1,5988577:doOpen,[])
link(onEvent2,5988577:doSend,[(430,244)(430,251)])
}
Add(URLBuilder,11021987,294,231)
{
Args=#6:action|5:login|8:password|6:Submit|
link(onBuild,13551532:doBuild,[])
link(action,13527944:Value,[(300,212)(230,212)])
link(login,511036:Text,[(307,205)(272,205)])
link(password,15545401:Text,[])
link(Submit,16466954:Value,[(321,205)(356,205)])
}
Add(Memory,13527944,224,147)
{
Default=String(validate)
}
Add(Memory,16466954,350,147)
{
Default=String(%F7%CF%CA%D4%C9%21)
}
Посмотрел. Сделал по аналогии. Толку - 0 )
карма: 0
0
Администрация
Ответов: 15295
Рейтинг: 1519
#8: 2009-02-21 18:06:06 ЛС | профиль | цитата
Астрамак писал(а):
Посмотрел. Сделал по аналогии. Толку - 0 )

по аналогии c чем интересно

Астрамак писал(а):
URL="http://stat.trunkcom.ru/cgi-bin/clients/login"

интересное понимание аналогии
Dilma писал(а):
URL="/"

карма: 27
0
Ответов: 3514
Рейтинг: 184
#9: 2009-02-21 20:28:31 ЛС | профиль | цитата
Если я поставлю только слеш, то будет грузится текст главной страницы
------------ Дoбавленo:

Если кто может помочь советом, буду благодарен..
карма: 0
0
Ответов: 5446
Рейтинг: 323
#10: 2009-02-24 01:03:01 ЛС | профиль | цитата
Астрамак, вот так:
code_11928.txt
карма: 1

1
файлы: 1code_11928.txt [1.1KB] [229]
Голосовали:Астрамак
Ответов: 3514
Рейтинг: 184
#11: 2009-02-24 11:08:29 ЛС | профиль | цитата
iarspider,
code_11929.txt
=(
карма: 0
0
файлы: 1code_11929.txt [504B] [166]
Ответов: 5446
Рейтинг: 323
#12: 2009-02-24 18:10:06 ЛС | профиль | цитата
Астрамак, тогда хезе. Сравни логи (ты же сам их делал?), посмотри, в чём разница. По идее лог для программы даст что-то вроде

POST /cgi-bin/clients/login HTTP/1.1
Host: stat.trunkcom.ru
Referer: http://stat.trunkcom.ru/cgi-bin/clients/login
Content-Type: application/x-www-form-urlencoded
Content-Length: 79

action=validate&login=VERNIY&password=PASS&Submit=%F7%CF%CA%D4%C9%21

Может, на сервере ещё и проверка user-agent'а стоит? Тогда надо править PostBuilder...
карма: 1

0
Ответов: 3514
Рейтинг: 184
#13: 2009-02-24 23:06:29 ЛС | профиль | цитата
Возможно.
Разница в следующем:

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: CGISESSID=ad3932a5d8224c5b63dcaac4d08d6ca9

ох.

------------ Дoбавленo:

Возможно нехватает куки, возможно Accept, а возможно и User-agent`a..
------------ Дoбавленo:

Новые подробности...
http://stat.trunkcom.ru/cgi-bin/clients/login

POST /cgi-bin/clients/login HTTP/1.1
Host: stat.trunkcom.ru
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://trunkcom.ru/index.html
Content-Type: multipart/form-data; boundary=---------------------------41184676334
Content-Length: 331
-----------------------------41184676334
Content-Disposition: form-data; name="login"

LOGIN
-----------------------------41184676334
Content-Disposition: form-data; name="password"

PASS
-----------------------------41184676334
Content-Disposition: form-data; name="Submit"


------------ Дoбавленo:

Я так понимаю, boundary=---------------------------41184676334 это разделитель некий?
Ппц..
карма: 0
0
Ответов: 5446
Рейтинг: 323
#14: 2009-02-25 15:01:30 ЛС | профиль | цитата
А вот это уже любопытно. В приведённом дампе другой способ передачи параметров - multipart/form-data. Как уж там корректно boundary задавать - это я не помню, мучай гугль.
карма: 1

0
Ответов: 3514
Рейтинг: 184
#15: 2009-02-25 16:16:33 ЛС | профиль | цитата
ini
code_11938.txt

pas
code_11939.txt

debug
code_11940.txt

Программа не запускается..
карма: 0
0
файлы: 3code_11938.txt [836B] [126], code_11939.txt [2KB] [160], code_11940.txt [426B] [161]
Сообщение
...
Прикрепленные файлы
(файлы не залиты)