ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

ClientSocket http
  #1  
Старый 13.02.2010, 14:51
RunDMX
Новичок
Регистрация: 14.06.2009
Сообщений: 27
Провел на форуме:
183294

Репутация: 2
По умолчанию ClientSocket http

посылаю вот так


void __fastcall TForm2::Button3Click(TObject *Sender)
{
UnicodeString httpheader,httpheader1,httpheader2,httpheader3,htt pheader4;

httpheader1="GET / HTTP/1.0 \r\nAccept: */* \r\n";
httpheader2="Connection: Keep-alive \r\n";
httpheader3="Host: rustorrents.org \r\n";
httpheader4="User-Agent: MyAgent \r\n\r\n";
httpheader= httpheader1+httpheader2+httpheader3+httpheader4;
ClientSocket1->Socket->SendText(httpheader);
Memo1->Lines->Add(httpheader);
}


принимаю вот так

void __fastcall TForm2::ClientSocket1Read(TObject *Sender, TCustomWinSocket *Socket)

{
UnicodeString answer ;
Memo1->Lines->Add("Получаем данные");
answer=ClientSocket1->Socket->ReceiveText();

Memo1->Lines->Add(answer) ;

}

компилятор с++ builder 2009

в мемо получаю китайские эроглифы



почему?

Последний раз редактировалось RunDMX; 13.02.2010 в 15:21..
 
Ответить с цитированием

  #2  
Старый 13.02.2010, 15:23
wolmer
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
Провел на форуме:
4761503

Репутация: 229
По умолчанию

Цитата:
Сообщение от RunDMX  
поправил в первом посте там видно
Попробуй сделать прием как тут:
cyberforum.ru/cpp-builder/thread31583.html

должно получится, вообще погугли на эту тему
 
Ответить с цитированием

  #3  
Старый 13.02.2010, 15:30
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме:
1290766

Репутация: 1236


По умолчанию

вот поэтому и не люблю я rad среды) порой они просто рогами в воздух упираются)
__________________


snow white world wide
 
Ответить с цитированием

  #4  
Старый 13.02.2010, 15:34
RunDMX
Новичок
Регистрация: 14.06.2009
Сообщений: 27
Провел на форуме:
183294

Репутация: 2
По умолчанию

поменял на

void __fastcall TForm2::ClientSocket1Read(TObject *Sender, TCustomWinSocket *Socket)

{
int iBufSize = Socket->ReceiveLength();
char *Buf = new char [iBufSize + 1];
Socket->ReceiveBuf(Buf,iBufSize);
AnsiString Rtext=Buf;
Memo1->Lines->Add(UTF8Decode(Rtext));

}

теперь не доконца получает
пример запрос на яндекс

 
Ответить с цитированием

  #5  
Старый 14.02.2010, 13:11
RunDMX
Новичок
Регистрация: 14.06.2009
Сообщений: 27
Провел на форуме:
183294

Репутация: 2
По умолчанию

Подниму наверно тему так как перерыл весь инет и решения не нашел
Данные приходят частично
 
Ответить с цитированием

  #6  
Старый 14.02.2010, 13:53
Kaimi
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме:
18127311

Репутация: 1676


Отправить сообщение для Kaimi с помощью ICQ
По умолчанию

У меня всё целиком приходит
Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ClientSocket1->Socket->SendText("GET / HTTP/1.1\r\nHost: rustorrents.org\r\n\r\n");
}
//---------------------------------------------------------------------------

void __fastcall TForm1::ClientSocket1Read(TObject *Sender,
      TCustomWinSocket *Socket)
{
Memo1->Lines->Add(ClientSocket1->Socket->ReceiveText());
}
 
Ответить с цитированием

  #7  
Старый 14.02.2010, 14:38
Protorus
Новичок
Регистрация: 17.01.2010
Сообщений: 23
Провел на форуме:
118852

Репутация: 0
По умолчанию

а как ты хотел? чтобы всегда сразу все приходило? такого не будет
вызывай еще раз ReceiveBuf(Buf,iBufSize)
(да и еще, больше iBufSize, за раз не примешь)
Да и еще момент, разве запросы/ответы в unicode передаются? Может я просто не знаю..

Последний раз редактировалось Protorus; 14.02.2010 в 14:46..
 
Ответить с цитированием

  #8  
Старый 14.02.2010, 20:35
RunDMX
Новичок
Регистрация: 14.06.2009
Сообщений: 27
Провел на форуме:
183294

Репутация: 2
По умолчанию

Цитата:
Сообщение от Protorus  
а как ты хотел? чтобы всегда сразу все приходило? такого не будет
вызывай еще раз ReceiveBuf(Buf,iBufSize)
(да и еще, больше iBufSize, за раз не примешь)
Да и еще момент, разве запросы/ответы в unicode передаются? Может я просто не знаю..
Так разве ClientSocket1Read не должен вызываться несколько раз ?

поставил вот так:

int iBufSize = Socket->ReceiveLength();
while(iBufSize>0){
char *Buf = new char [iBufSize + 1];
Socket->ReceiveBuf(Buf,iBufSize);
AnsiString Rtext=Buf;
//Memo1->Lines->Add(UTF8Decode(Rtext));
Application->ProcessMessages();
Memo1->Lines->Add(Rtext); }

iBufSize=0;

тоже самое не до конца.

Последний раз редактировалось RunDMX; 14.02.2010 в 20:45..
 
Ответить с цитированием

  #9  
Старый 15.02.2010, 03:23
Jingo Bo
Познающий
Регистрация: 25.10.2009
Сообщений: 97
Провел на форуме:
604635

Репутация: 15
По умолчанию

RunDMX, нет под рукой билдера...какой выбран режим блокируемые или не блокируемые сокеты?
Цитата:
Так разве ClientSocket1Read не должен вызываться несколько раз ?
Само собой.

Возможно неверные заголовки и сервер раньше времени разрывает соединение
 
Ответить с цитированием

  #10  
Старый 15.02.2010, 04:20
RunDMX
Новичок
Регистрация: 14.06.2009
Сообщений: 27
Провел на форуме:
183294

Репутация: 2
По умолчанию

ctNonBlocking

ответ от сервера

HTTP/1.1 200 OK
Server: nginx/0.6.32
Date: Mon, 15 Feb 2010 00:18:56 GMT
Content-Type: text/html; charset=windows-1251
Connection: close
X-Powered-By: PHP/5.2.6-1+lenny4
Vary: Accept-Encoding

дальше идет Html и обрываеться гдето в середине и дальше отключение происходит

как видно на 2 скрине
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Живые прокси xdx ICQ 111 15.04.2007 13:10
Proxy Kozak-Scv Анонимность 2 11.02.2007 17:28
Коды состояния HTTP - Коды ошибок http сервера D=P=CH= MOD= *nix 6 15.10.2006 20:47
Технология HTTP Fingerprint gemaglabin Уязвимости 5 28.09.2006 00:01



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ