Алгоритм чтоб покоцать HTTP header.

Тема в разделе "WASM.BEGINNERS", создана пользователем lust, 26 мар 2008.

  1. lust

    lust New Member

    Публикаций:
    0
    Регистрация:
    14 окт 2007
    Сообщения:
    72
    У меня есть программка, которая идёт по урлу нужному, получает ответ и заливает его в файл.
    но вместе с ответом получает вот такую шнягу, более известную как http заголовок.
    Код (Text):
    1. HTTP/1.1 200 OK
    2. Date: Tue, 25 Mar 2008 21:46:04 GMT
    3. Server: Apache/2.2.3 (Debian) PHP/5.2.0-8+etch1 mod_perl/2.0.2 Perl/v5.8.8
    4. X-Powered-By: PHP/5.2.0-8+etch1
    5. Set-Cookie: PHPSESSID=bd75dc97d72fc60b4158f0bb0e5c3369; path=/
    6. Expires: Thu, 19 Nov 1981 08:52:00 GMT
    7. Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    8. Pragma: no-cache
    9. Content-Length: 2892
    10. Keep-Alive: timeout=15, max=100
    11. Connection: Keep-Alive
    12. Content-Type: text/html; charset=windows-1251
    Я всё не могу найти какого-нить человеческого способа, как от него избавиться , и сам уже на грани безумия. Если кто знает решение красивое, пожалуйста отпишите.
    Спасибо.
     
  2. zoool

    zoool New Member

    Публикаций:
    0
    Регистрация:
    1 дек 2007
    Сообщения:
    412
    заголовок от тела отделяется двумя энтерами
     
  3. lust

    lust New Member

    Публикаций:
    0
    Регистрация:
    14 окт 2007
    Сообщения:
    72
    0D 0A 0D 0A
    там в конце.

    Я пользую такую тему, чтоб размер заголовка получить
    Код (Text):
    1.     mov eax,buffer
    2.     mov ecx,0
    3.     .while ebx != 1
    4.         .if (byte ptr [eax]==0Ah) && (byte ptr  [eax-2]==0Ah)  
    5.             mov ebx, 1
    6.             mov HeaderSize, ecx
    7.         .endif  
    8.         inc eax
    9.         inc ecx
    10.     .endw
    11.        
    12.  
    13.     sub sizetoread,HeaderSize
    потом я пытаюсь сделать
    Код (Text):
    1.     sub sizetoread,HeaderSize
    sizetoread получается через
    Код (Text):
    1. invoke ioctlsocket,hSocket1,FIONREAD,addr sizetoread
    И в результате я получаю
    Код (Text):
    1. client.asm(121) : error A2070: invalid instruction operands
    Причём не оч понятно почему, тк они оба dd.
     
  4. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    нельзя отнимать из одной ячейки памяти другую
    используй регистры
     
  5. Sol_Ksacap

    Sol_Ksacap Миша

    Публикаций:
    0
    Регистрация:
    6 мар 2008
    Сообщения:
    623
    Равносильно, лайк:
    Инструкций для sub непосредственный_адрес_памяти, непосредственный_адрес_памяти не существует на x86.


    Upd: MSoft, опередил.
     
  6. lust

    lust New Member

    Публикаций:
    0
    Регистрация:
    14 окт 2007
    Сообщения:
    72
    всем огромное спасибо!!
    заррработало)