URL Connecion

Тема в разделе "WASM.BEGINNERS", создана пользователем Lex2029, 13 окт 2007.

  1. Lex2029

    Lex2029 New Member

    Публикаций:
    0
    Регистрация:
    17 сен 2007
    Сообщения:
    199
    Всем привет.
    Подскажите плиз, как сделать url запрос? т.е. чтобы просто считать то, что написано в файлике, http://www.***.ru/index.html?
    Просто я только с сокетами всегда работал, и знаю, на Java, есть класс URLConnection, но вот как этот класс реализован я не знаю :dntknw: Подскажите плиз, так словами или где почитать.
    Спасибо!
     
  2. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Lex2029
    Пиши по Java в HEAP и в заголовке что по Java вопрос!
    Через URLConnection никак - он абстрактный;)

    Там же(в Java) JavaDoc тоже что наш MSDN
     
  3. Lex2029

    Lex2029 New Member

    Публикаций:
    0
    Регистрация:
    17 сен 2007
    Сообщения:
    199
    Да нее :) Я как раз про то, что я знаю как на java делать :)
    Там есть специальный класс для этого. А на асме я только учусь. И пока только с сокетом разобрался. Вот и интересуюсь, как с сайтом соединиться?
     
  4. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Lex2029
    Открываеш коннект по соккету с нужным сервером
    и пишиш туда HTTP запрос своей страницы а потом читаеш из него ответ...
    Тип и форму запроса ищи гуглем "RFC HTTP" без кавычек.
     
  5. Lex2029

    Lex2029 New Member

    Публикаций:
    0
    Регистрация:
    17 сен 2007
    Сообщения:
    199
    А как в С++ нет? Каких нибудь либ с WinHttpOpen и т.п?
    Кстати, подскажите плиз, где лучше либы искать? для МАСМа
     
  6. W4FhLF

    W4FhLF New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2006
    Сообщения:
    1.050
    http://msdn2.microsoft.com/en-us/library/aa385103.aspx
     
  7. Lex2029

    Lex2029 New Member

    Публикаций:
    0
    Регистрация:
    17 сен 2007
    Сообщения:
    199
    И еще был бы очень благодарен, если бы вы написали мне маленький примерчик, что нужно записать в сокет, чтобы потом можно было считать ответ http страницы, например яндекса. Просто что записать нужно.
    Спасибо
     
  8. W4FhLF

    W4FhLF New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2006
    Сообщения:
    1.050
    Lex2029

    Ничего не надо записывать.

    http://www.xakep.ru//magazine/xa/079/108/6.asp
     
  9. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Lex2029
    помойму строку
    Код (Text):
    1. get             db "GET /",0ah,0dh,0
    в аттаче в проге пропиши нужный айпишниr ,а то она к локалхосту
    коннектится.
    и качает только часть файла.
    если нужно не корень качать то пиши "GET /my_dir/my_file.htm",0ah,0dh,0
    а для примера достаточно ;)
     
  10. W4FhLF

    W4FhLF New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2006
    Сообщения:
    1.050
    Так WininetAPI не подходят, надо через сокеты задачу решить?
     
  11. Lex2029

    Lex2029 New Member

    Публикаций:
    0
    Регистрация:
    17 сен 2007
    Сообщения:
    199
    WininetApi подходит! Только у меня на асме либ и инклюдов нет нужных :dntknw: Только для сокетов.
    И соответственно, как это делается через сокеты, это так, просто для общего образования!
     
  12. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Lex2029
    у меня MASM32 version 8 там всё это есть.
    А вообще по сокетам посмотри примеры прог на сайте.
     
  13. Lex2029

    Lex2029 New Member

    Публикаций:
    0
    Регистрация:
    17 сен 2007
    Сообщения:
    199
    А дай ссылку плиз, откуда скачивал?

    PS: Странно. Когда я отправляю строку GET /, то в принципе я что-то получаю. Только это я вно не мой index.html. А когда я оправляю эту же строку, через сокет в Яве, нифига не работает. И через telnet тоже.
    Как получить содержимое index.html?
     
  14. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Lex2029
    качал с этого сайта.
    Ты что-то не так делаеш...
    Давай код
     
  15. Lex2029

    Lex2029 New Member

    Публикаций:
    0
    Регистрация:
    17 сен 2007
    Сообщения:
    199
    Все :) Методом супер подбора, я нашел работающий вариант!
    Строка которую нужно послать:

    get db 'GET http://***/index.html', 0Ah, 0Dh, 0

    НО, если я например добавляю к ней, HTML/1.0, то тогда в конце, я должен добавить еще раз 0Ah, 0Dh. Иначе ответа не будет. Т.е. будет строка:
    get db 'GET http://***/index.html HTML/1.0', 0Ah, 0Dh, 0Ah, 0Dh, 0
     
  16. Lex2029

    Lex2029 New Member

    Публикаций:
    0
    Регистрация:
    17 сен 2007
    Сообщения:
    199
    Всем большое спасибо!
     
  17. Lex2029

    Lex2029 New Member

    Публикаций:
    0
    Регистрация:
    17 сен 2007
    Сообщения:
    199
    wsd
    Подскажи, где на этом сайте асм скачать? :)
     
  18. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Lex2029
    Тут у нас косячок нарисовался...
    Нулик в конце строки передавать не надо!!!!
    А в определении лучше его оставить для работы с запросом как с сишной строкой
    (т.е. размер посчитать,кокатенировать и т.д.) и передавать в send размер (sizeof get)-1
    И по поводу научных тыков:dntknw: ...
    На том сервере где тестируеш может что-то прокатить что на дригих не прокатит
    и поэтому надо по RFC работать:)
    RFC:
     
  19. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
  20. Lex2029

    Lex2029 New Member

    Публикаций:
    0
    Регистрация:
    17 сен 2007
    Сообщения:
    199
    Спасибо :)