Вверх ↑
Этот топик читают: Гость
Ответов: 35
Рейтинг: 2
#1: 2011-06-08 10:13:51 ЛС | профиль | цитата
В общем суть такова, отправляю POST запрос на сервер, получаю ответ от него.
Вопрос, как мне с этого ответа забрать нужные данные без мусора?

Ответ такого плана:

HTTP/1.1 200 OK
Date: Wed, 08 Jun 2011 06:07:48 GMT
Server: Apache/2.2.3 (CentOS)
X-Powered-By: PHP/5.1.6
Content-Length: 161
Connection: close
Content-Type: text/html; charset=cp1251

OK
Ìóíèöèïàëüíîå ó÷ðåæäåíèå "ÊÄÖ "Þáèëåéíûé"|01/08|3
ubileyniy2|-5483ð.37ê.|Êîììåð÷åñêèé
ubileyniy3|-7219ð.32ê.|Êîììåð÷åñêèé
ubileyniy3d|-1367ð.79ê.|Êîììåð÷åñêèé


Забрать надо тольо вот это

Ìóíèöèïàëüíîå ó÷ðåæäåíèå "ÊÄÖ "Þáèëåéíûé"|01/08|3
ubileyniy2|-5483ð.37ê.|Êîììåð÷åñêèé
ubileyniy3|-7219ð.32ê.|Êîììåð÷åñêèé
ubileyniy3d|-1367ð.79ê.|Êîììåð÷åñêèé


BlockFind чё-то не особо помог
ЗЫ Бяка каая-то не понятная с кодировками


Простите не туда запостил, перенесите пожалуйста.
карма: 1

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#2: 2011-06-08 10:31:07 ЛС | профиль | цитата
Вообще-то, разделителем является перевод строки, так что "OK" попадает в контент
карма: 22

0
Ответов: 1429
Рейтинг: 50
#3: 2011-06-08 10:32:36 ЛС | профиль | цитата
Так?code_24339.txt
карма: 0

0
файлы: 1code_24339.txt [864B] [125]
Разработчик
Ответов: 26170
Рейтинг: 2127
#4: 2011-06-08 10:44:44 ЛС | профиль | цитата
login, очень просто, но не совсем корректно. Есть ли больша уверенность в том, что контент имеет фиксиованную длину и не разобъется на части
У него стоит Connection: close, значит событие onDisconnect TCP_Client-a надо использовать как синхронизирующее
карма: 22

0
Ответов: 1429
Рейтинг: 50
#5: 2011-06-08 10:54:41 ЛС | профиль | цитата
nesco писал(а):
У него стоит Connection: close, значит событие onDisconnect TCP_Client-a надо использовать как синхронизирующее

согласен
карма: 0

0
Ответов: 35
Рейтинг: 2
#6: 2011-06-08 11:20:52 ЛС | профиль | цитата
login, в твоём примере работает, но когда я пробую у себя это вставить в проекте, он мне выдаёт огрызок заголовка, т.е. вот это:

HTTP/1.1 200 OK
Date: Wed, 08 Jun 2011 06:07:48 GMT
Server: Apache/2.2.3 (CentOS)
X-Powered-By: PHP/5.1.6
Content-Length: 161
Connection: close
Content-Type: text/html; charset=cp1251

OK



Вот часть кода где это должно работать
Add(HTTP_PostBuilder,14777809,315,119)
{
URL="/function/index.php"
Host="***.wlan"
UserAgent=""
link(onBuild,6141277:doEvent1,[])
}
Add(URLBuilder,1979262,273,119)
{
Args=#4:func|2:id|4:sign|
link(onBuild,14777809:doBuild,[])
link(func,14978748:Var3,[(279,47)])
link(id,4194534:Var3,[(286,54)])
link(sign,7175914:Value,[(293,107)(261,107)(261,163)(216,163)])
}
Add(Hub,6141277,364,119)
{
link(onEvent1,4524949:doOpen,[])
link(onEvent2,4524949:doSend,[(388,132)(388,139)])
}
Add(TCP_Client,4524949,399,119)
{
Port=80
IP="**.**.**.**"
link(onRead,8647188:doAdd,[])
link(onDisconnect,10434314:doData,[(447,139)(447,202)])
}
Add(Hashsum,2680386,112,119)
{
link(onResult,12891746:doModify,[])
link(Data,9459081:Result,[])
}
Add(StrCat,9459081,112,63)
{
link(onStrCat,2680386:doHashsum,[(154,69)(154,106)(100,106)(100,125)])
link(Str1,14978748:Var2,[])
link(Str2,4194534:Var2,[])
}
Add(GlobalVar,1303391,112,28)
{
Name="func"
Data=String(userinfo)
}
Add(GetDataEx,14978748,112,42)
{
link(Data,1303391:Var,[])
}
Add(GetDataEx,4194534,119,49)
{
link(Data,13703250:Var,[])
}
Add(StrCase,12891746,161,119)
{
link(onModify,7175914:doValue,[])
}
Add(Memory,7175914,210,119)
{
link(onData,1979262:doBuild,[])
}
Add(StrList,8647188,462,119)
{
Strings=#15:HTTP/1.1 200 OK|35:Date: Wed, 08 Jun 2011 06:07:48 GMT|29:Server: Apache/2.2.3 (CentOS)|23:X-Powered-By: PHP/5.1.6|19:Content-Length: 161|17:Connection: close|39:Content-Type: text/html; charset=cp1251|0:|2:OK|49:Ioieoeiaeuiia o??a?aaiea "EAO "?aeeaeiue"|01/08|3|35:ubileyniy2|-5483?.37e.|Eiiia??aneee|35:ubileyniy3|-7219?.32e.|Eiiia??aneee|36:ubileyniy3d|-1367?.79e.|Eiiia??aneee|
}
Add(DoData,10434314,462,196)
{
link(onEventData,5219516:doSearch,[])
link(Data,8647188:Text,[])
}
Add(BlockFind,5219516,525,196)
{
Delete=0
StartBlock="HTTP/1.1"
EndBlock="
OK
"
link(onSearch,9166596:doEvent,[])
}
Add(Debug,9166596,567,196)
{
}
Add(GlobalVar,13703250,119,7)
{
Name="id"
Data=String(userinfo)
}




карма: 1

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#7: 2011-06-08 11:43:33 ЛС | профиль | цитата
win95cih, надо, в качестве событийного, не onSearch использовать, а onEndSearch, там, как раз, и остается твой контент
карма: 22

0
Ответов: 35
Рейтинг: 2
#8: 2011-06-08 13:09:21 ЛС | профиль | цитата
Век живи, век учись, я незнал этого )) ... Но увы, всё равно выдаёт полный кусок с заголовком. Что за чертовщина (
карма: 1

0
Гость
Ответов: 17029
Рейтинг: 0
#9: 2011-06-08 13:17:06 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-09 16:09:12
карма: 0

0
Ответов: 35
Рейтинг: 2
#10: 2011-06-08 13:23:07 ЛС | профиль | цитата
Отрицательно, получаю полный ответ с заголовком.
карма: 1

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#11: 2011-06-08 13:29:22 ЛС | профиль | цитата
win95cih писал(а):
Отрицательно, получаю полный ответ с заголовком

Да нормально работает твоя схема

code_24344.txt

там же стоит Delete=True, те найденный блок вырезается
карма: 22

0
файлы: 1code_24344.txt [904B] [181]
Ответов: 35
Рейтинг: 2
#12: 2011-06-09 08:39:47 ЛС | профиль | цитата
Ну я бы ничего не говорил

Вот в работе схема

карма: 1

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#13: 2011-06-09 08:48:40 ЛС | профиль | цитата
Это проблема перевода строк, нужно использовать один символ, а у нас используется два
Вот, попробуй, должно работать

code_24357.txt

карма: 22

0
файлы: 1code_24357.txt [1KB] [164]
Ответов: 35
Рейтинг: 2
#14: 2011-06-09 08:59:56 ЛС | профиль | цитата
Работает, когда EndBlock:
OK


Спасибо за помощь.
карма: 1

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#15: 2011-06-09 09:06:56 ЛС | профиль | цитата
win95cih писал(а):
Работает, когда EndBlock:
OK

Правда странно, что в качествое перевода тспользуется #10, когда должно использоваться #13
карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)