Winsock через прокси

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 31.08.2005 (Ср) 19:08

alibek писал(а):Первое. Не надо разделять пакеты. Сформируй в одну строку (разделитель - vbCrLf, конец заголовка и начало данных - двойной vbCrLf).

Зачем это?
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 01.09.2005 (Чт) 2:21

Как зачем - такой синтаксис запроса по HTTP...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 01.09.2005 (Чт) 3:14

Неправда. См. пред. стр.: протокол HTTP не занимается анализом нижележащих протоколов. Ему нет дела, в одном IP-пакете пришёл запрос или в дюжине.

Иллюстрация:
Код: Выделить всё
Option Explicit

Private Sub Form_Load()
Winsock1.Connect "bbs.vbstreets.ru", 80
End Sub

Private Sub Winsock1_Close()
Debug.Print
Debug.Print "Connection closed."
End Sub

Private Sub Winsock1_Connect()
Winsock1.SendData "GET /viewtopic.php?t=18871&start=30 HTTP/1.1" & vbCrLf
Winsock1.SendData "Host: bbs.vbstreets.ru" & vbCrLf
Winsock1.SendData "Connection: Keep-Alive" & vbCrLf
Winsock1.SendData vbCrLf
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim s As String
Winsock1.GetData s
Debug.Print s;
End Sub


Если верить вам с alibek-ом и FleX_2004, то после первой отсылки сервер должен прекратить обработку запроса, не увидеть заголовок Host, и пожаловаться на инвалидный запрос.
Однако, как показывает лёгкий эксперимент, это не так, и всё работает.

Вывод: HTTP пофигу на пакеты, забудьте про пакеты, пакетов нет
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 01.09.2005 (Чт) 3:17

В этом смысле да.


Правда, пакеты (ну, почти) иногда всё же есть, называются они transfer-encoding: chunked и сильно портят мне жизнь прямо сейчас :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Пред.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23

    TopList