Поставить куки, или передать.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Dimen
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 82
Зарегистрирован: 25.05.2009 (Пн) 15:10

Поставить куки, или передать.

Сообщение Dimen » 21.07.2009 (Вт) 8:02

Делаю авторизацию post запросом через winsock он мне возврщает ответ и исходный страницы.
Нужно каким то образом поставить куки
Код: Выделить всё
Cookie: PHPSESSID=d42b5be21920a776ac969f4b1b651e00; counter=1; hotlog=1 

Чтоб при переходе по старницам авторизация не терялась. На сколько я понимаю нужно GET запросом (исходя из того что шлет) при переходе к другой странице как то слать эту php сессию.

Смотрю что шлет при переходе на другую страницу через ieHTTPHeaders
Код: Выделить всё
GET /gogo.php HTTP/1.1
Accept: */*
Referer: http://www.******.ru
Accept-Language: ru
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; Smartphone; 240x320 (compatible; MSIE 6.0; Windows NT 5.1; SV1; User-agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1); .NET CLR 2.0.50727)
Host: www.******.ru
Connection: Keep-Alive
Cookie: PHPSESSID=d42b5be21920a776ac969f4b1b651e00; counter=1; hotlog=1


Делаю так:
Код: Выделить всё
Private Sub Command3_Click()
Winsock1.Protocol = sckTCPProtocol
Winsock1.LocalPort = 0
Winsock1.Connect "*****.ru", 80

While Not Winsock1.State = 7
DoEvents '
Wend '
Text3.Text = "Подключение прошло успешно "
Winsock1.SendData "GET /gogo.php HTTP/1.1" & vbCrLf & vbCrLf
End Sub

как в данном случае в запросе передать и куки?
Íå óïóñêàéòå øàíñ!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Поставить куки, или передать.

Сообщение alibek » 21.07.2009 (Вт) 10:19

Сохранить и передать.
Lasciate ogni speranza, voi ch'entrate.

Dimen
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 82
Зарегистрирован: 25.05.2009 (Пн) 15:10

Re: Поставить куки, или передать.

Сообщение Dimen » 21.07.2009 (Вт) 10:56

Ты имеешь ввиду сохранить в папку куки? Я не думаю что это сработает, а что ни как не передать их гет запросом как делает браузер?
Íå óïóñêàéòå øàíñ!

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Поставить куки, или передать.

Сообщение iGrok » 21.07.2009 (Вт) 12:34

Dimen писал(а):Ты имеешь ввиду сохранить в папку куки? Я не думаю что это сработает, а что ни как не передать их гет запросом как делает браузер?

Он имеет в виду, что не нужно останавливаться на первой строке запроса. Нужно передать весь целиком.
label:
cli
jmp label

Dimen
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 82
Зарегистрирован: 25.05.2009 (Пн) 15:10

Re: Поставить куки, или передать.

Сообщение Dimen » 21.07.2009 (Вт) 22:54

То есть вот так как то:
Код: Выделить всё
Private Sub Command3_Click()
Winsock1.Protocol = sckTCPProtocol
Winsock1.LocalPort = 0
Winsock1.Connect "*****.ru", 80

While Not Winsock1.State = 7
DoEvents '
Wend '
Text3.Text = "Подключение прошло успешно "
Winsock1.SendData "GET /gogo.php HTTP/1.1" & vbCrLf & vbCrLf
Winsock1.SendData "Cookie: PHPSESSID=d42b5be21920a776ac969f4b1b651e00; counter=1; hotlog=1" & vbCrLf
End Sub
Íå óïóñêàéòå øàíñ!

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Поставить куки, или передать.

Сообщение iGrok » 22.07.2009 (Ср) 0:47

Dimen писал(а):
Код: Выделить всё
...
Winsock1.SendData "GET /gogo.php HTTP/1.1" & vbCrLf & vbCrLf
Winsock1.SendData "Cookie: PHPSESSID=d42b5be21920a776ac969f4b1b651e00; counter=1; hotlog=1" & vbCrLf
...

Зачем ты ставишь лишний vbCrLf после Request-String ("GET /... HTTP/1.1" & vbCrLf)?

Почитай про протокол http. http://www.w3.org/Protocols/rfc2616/rfc2616.html
Если с английским не очень - "устаревший", но зато русский вариант: http://www.codenet.ru/webmast/http/rfc2068/

vbCrLf ставится после строки запроса, и каждого из отправлямых заголовков. В конце всего заголовка запроса, перед телом сообщения, ставится ещё один vbCrLf.
У тебя же есть пример перед глазами (то, что шлёт IE). Сделай так же, как там.
label:
cli
jmp label

Dimen
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 82
Зарегистрирован: 25.05.2009 (Пн) 15:10

Re: Поставить куки, или передать.

Сообщение Dimen » 22.07.2009 (Ср) 7:37

iGrok спасибо изучу данную литературу.
Íå óïóñêàéòå øàíñ!


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

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

Сейчас этот форум просматривают: AhrefsBot, Google-бот и гости: 104

    TopList