Как отправить данные на севрер по методам GET/POST

Ответы на вопросы, чаще всего задаваемые в форумах VBStreets. Для тех, кому лень искать.
RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Как отправить данные на севрер по методам GET/POST

Сообщение RayShade » 25.05.2004 (Вт) 11:02

Надо добавь WinSock Control и кнопку. В код формы вставить:



Winsock1.Protocol = sckTCPProtocol 'Установка протокола

Winsock1.Connect "имя_сервера", 80 'подключение через порт 80

While Not Winsock1.State = 7 'Ждем, пока подключится.

DoEvents '

Wend '



Parametrs="параметр1=значение&параметр2=значение" 'сохраняем параметры в 'переменной



Далее все зависит от того, каким методом передавать. Если через метод POST, то:



Winsock1.SendData "POST /адрес_скрипта HTTP/1.1" & vbCrLf

Winsock1.SendData "Content-Type: application/x-www-form-urlencoded" & vbCrLf

Winsock1.SendData "Host: имя_сервера" & vbCrLf

Winsock1.SendData "Content-Length: " & len(Parametrs) & vbCrLf & vbCrLf

Winsock1.SendData Parametrs & vbCrLf



Если через метод GET, то:



Winsock1.SendData "GET /адрес_скрипта?" & Parametrs & " HTTP/1.0" & vbCrLf & vbCrLf



Далее сервер запустит скрипт и передаст данные, еоторые выдаст скрипт, т.е страницу, которая появилась бы в браузере. Если надо принять эти данные, то добавь еще это:



Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

Dim Data As String

Winsock1.GetData Data

End Sub



В переменной Data будут только что принятые данные, сохрани их где-нибудь (например в другой переменной), можешь делать с ними, что захочешь. Сначала сервер выдаст ответ типа:



HTTP/1.1 200 OK

Server: Microsoft-IIS/5.0

Date: Fri, 22 Feb 2002 11:12:20 GMT

Connection: Keep-Alive

Content-Length: 8

Content-Type: text/html

Set-Cookie: ASPSESSIONIDQGQQQLBQ=DFPBBDBDJOGMHODFDFALACNK; path=/

Cache-control: private



После того, как параметры закончатся, будет пустая строка, а потом страница.

Количество символов указано в параметре Content-Length.

Вернуться в Популярные вопросы

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

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

    TopList