Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Как сделать Аутентификацию в проге на web странице


Автор: matrlx 27.11.2005, 11:57
Что надо....
Есть прога...
Необходимо чтобы она проходила аутентификацию на сайте
http://mypaga/login.php(например)
и после проверки ... возвращались в прогу cookies

После получения cookies
Через прогу можно лазить по защищенным сайтам(постоянно с запросом получения страницы посылая cookies)
т.е.
смог бы я загружать страницу
http://mypaga/user.php?m=matrlx

Как ето можно реальзовать?
Если можно то по проще smile

Автор: matrlx 29.11.2005, 06:02
Все...
Уже сам допер до сути дела)
Все написал*)

Автор: Exception 29.11.2005, 20:31
matrlx
а как?
Интересно бы узнать smile

Автор: matrlx 30.11.2005, 08:23
Код

Dim page As String
Dim host As String

Private Sub Command1_Click()
Winsock1.Close
Text1.Enabled = True
Text3.Enabled = True
Command1.Enabled = False
Command2.Enabled = True
List1.Clear
Text2.Text = ""
End Sub

Private Sub Command2_Click()
Text1.Enabled = False
Text3.Enabled = False
host = Text1.Text
page = Text3.Text
If page <> "" Then
  page = "/" & page
Else
  page = "/"
End If
Winsock1.Close
Winsock1.RemoteHost = host
Winsock1.RemotePort = 80
List1.AddItem ("Connecting socket...")
Winsock1.Connect
List1.AddItem ("Ok")
Command2.Enabled = False
Command1.Enabled = True
End Sub

Private Sub Winsock1_Connect()
Dim data As String
data = "GET " & page & " HTTP/1.1" & Chr(13) & Chr(10) & _
       "Accept: */*" & Chr(13) & Chr(10) & _
       "Accept-Language: ru" & Chr(13) & Chr(10) & _
       "User-Agent: HostLook/1.0" & Chr(13) & Chr(10) & _
       "Host: " & host & Chr(13) & Chr(10) & _
       "Connection: Keep-Alive" & Chr(13) & Chr(10) & _
       Chr(13) & Chr(10)
List1.AddItem ("Sending HEADER...")
Winsock1.SendData data
List1.AddItem ("Ok")
End Sub


Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim data1 As String
List1.AddItem ("Getting page...")
Winsock1.GetData data1, , bytesTotal
List1.AddItem ("Ok")
Text2.Text = Text2.Text & data1
End Sub


Где логин и пароль надо указывать в строке запроса, например
page?user=matrlx&pass=1

Возврощаемый код будет иметь вид....

Цитата
HTTP/1.1 200 OK
Date: Wed, 30 Nov 2005 05:18:16 GMT
Server: Apache/2.0.51 (Fedora)
X-Powered-By: PHP/4.3.10
Set-Cookie: ***
path=/; domain=lalala.ru
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=windows-1251
----
и дальше код самой страницы...
----


Вот так выдираем теперь с этой переменной содержащей ответ и код страницы строку
Set-Cookie: ****

И следущий запрос отсылаем уже с Кукисами...
вот и все)

Модератор: Пользуйтесь, пожалуйста, тегами.

Автор: Exception 30.11.2005, 18:27
Что-то я не сообразил.
Буду знать, держи +1

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)