Что нового

Синтаксис при работе с объектами

bFree

Новичок
Сообщения
8
Репутация
1
Пытаюсь сделать авторизацию через WinHttp.WinHttpRequest.5.1, но сервер, зараза, редиректит после логина и куку записать не удается, т.к WinHttp отдает заголовки уже после редиректа.
В интернете нашел решение: "отрубать следование по переходам (.Option(WinHttpRequestOption_EnableRedirects) = False)"
Как надо оформить эту опцию в плане синтаксиса?
На
Код:
$HTTP.Option("WinHttpRequestOption_EnableRedirects", False)
ругается
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
Код:
$HTTP.Option("WinHttpRequestOption_EnableRedirects") = 0

а что такое WinHttpRequestOption_EnableRedirects? если это какая-то константа, то боюсь придется подставлять его численное значение. у меня были глюки с подстановкой констант в Excel.Application, autoit не понимал именованные константы
 
Автор
B

bFree

Новичок
Сообщения
8
Репутация
1
Вот откуда такая штуковина: http://msdn.microsoft.com/en-us/library/aa384108(VS.85).aspx
 
Автор
B

bFree

Новичок
Сообщения
8
Репутация
1
никто не знает?
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
Способ в http://autoit-script.ru/index.php?topic=738.msg5076#msg5076 не подошел?
нашел ли ты численное значение константы (?) WinHttpRequestOption_EnableRedirects?
 

El Panda

Продвинутый
Сообщения
101
Репутация
59
Попробуй так:

Код:
$oHTTP.Option("WinHttpRequestOption_EnableRedirects") = "False"

или 

$oHTTP.Option(5,False)
 
Автор
B

bFree

Новичок
Сообщения
8
Репутация
1
А где и как можно узнать численное значение константы?


Добавлено:
Сообщение автоматически объединено:

Ура, нашел способ
Код:
$oHTTP.Option(6) = False

Спасибо вам за помощь.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
что и требовалось доказать. если мне не изменяет память, False и 0 для AutoIt - одно и то же :smile:
тема решена?
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 165
Репутация
2 329
bFree [?]
А где и как можно узнать численное значение константы?
http://autoit-script.ru/index.php/topic,786.0.html


Добавлено:
Сообщение автоматически объединено:

Kaster [?]
False и 0 для AutoIt - одно и то же
Не совсем...

Код:
$_0_Var = 0
$_False_Var = False

$sRet = StringFormat('$_0_Var Type\t= %s\n$_False_Var Type\t= %s', VarGetType($_0_Var), VarGetType($_False_Var))

MsgBox(64, 'Test', $sRet)
 

HukpoFuJl

AццkuЙ HukpoFuJl
Сообщения
97
Репутация
38
Аааа, ребята, я на вас молиться буду !!!
Двое бессонных суток убил на эту :Censored:...
Одни сутки чтобы понять почему я не получаю нужный кук через winhttp.
Вторые на то чтобы понять как всё таки получить кук при редиректе 302.

Оказывается, что собака не там порылась и просто редирект отключать нужно, а не пытаться в его процессе что-то получить :smile:)
Вот блин, то-то я и думаю, почему у меня постоянно $oHTTP.Status = 200, если в браузере пишет, что 302 :D


Добавлено:
Сообщение автоматически объединено:

Так, отлично, не долго радовался...
Прошел дальше - получил ещё гемороя...

В общем ещё одна страничка с 302 перенаправлением, перехожу на неё, вижу:
-=-=-=-=-=-=-=-=-= Request 5 =-=-=-=-=-=-=-=-=-
302 Found
-= ResponseHeaders =-
Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0
Connection: keep-alive
Date: Fri, 16 Jul 2010 00:21:09 GMT
Pragma: no-cache
Content-Length: 0
Content-Type: text/html
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Last-Modified: Fri, 16 Jul 2010 00:21:09 GMT
Location: (адрес переадресации)
Server: nginx/0.7.67
Set-Cookie: (куча всяких нужных куков)
X-Powered-By: PHP/5.3.2
-= End resp =-
Сдесь всё отлично, нужные мне куки пойманы.

Далее перехожу на страницу, на которую меня какбэ переадресовывают и вижу ошибку 404:
-=-=-=-=-=-=-=-=-= Request 6 =-=-=-=-=-=-=-=-=-
404 Not Found
-= ResponseHeaders =-
Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0
Connection: keep-alive
Date: Fri, 16 Jul 2010 00:21:55 GMT
Pragma: no-cache
Transfer-Encoding: chunked
Content-Type: text/html; charset=windows-1251
Content-Encoding: gzip
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Last-Modified: Fri, 16 Jul 2010 00:21:55 GMT
Server: nginx/0.7.67
Set-Cookie: incmsg=deleted; expires=Thu, 16-Jul-2009 00:21:54 GMT; path=/; domain=.xxxxxxxxx.yy
X-Powered-By: PHP/5.3.2
-= End resp =-
И непонимаю почему 404?
Вот лог Firebug'a при этомже перенаправлении для сравнения:
HTTP/1.1 200 OK
Server: nginx/0.7.67
Date: Thu, 15 Jul 2010 23:36:53 GMT
Content-Type: text/html; charset=windows-1251
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.3.2
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Last-Modified: Thu, 15 Jul 2010 23:36:53 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: incmsg=deleted; expires=Wed, 15-Jul-2009 23:36:52 GMT; path=/; domain=.xxxxxxxxx.yy
Content-Encoding: gzip


Добавлено:
Сообщение автоматически объединено:

И ещё, чтоб не возникло подобного вопроса - сразу дам ответ:
заголовки запроса полностью дублирую из файерфокса... Куки разумеется в процессе в консоли контролирую и отсылаю требуемые, так что с самим запросом проблем быть не должно...
 
Верх