1

Тема: AHK: WinHTTPRequest ошибка 0x80072efd

Не могу с WinHTTPRequest достучаться до сайта - выводит ошибку.
С Msxml2.XMLHTTP все работает.
Почему так?

link := "https://suprnova.cc/index.php"
 
req := ComObjCreate("Msxml2.XMLHTTP")
req.open("GET", link, False)
req.Send()
MsgBox, % req.responseText
 
req := ComObjCreate("WinHTTP.WinHTTPRequest.5.1")
req.Open("GET", link, false)
req.Send()
MsgBox, % req.responseText

2

Re: AHK: WinHTTPRequest ошибка 0x80072efd

У меня оба работают.

3

Re: AHK: WinHTTPRequest ошибка 0x80072efd

Странно. Проверял на 5 машинах с разными ай-пи.
Везде win7 64 бит и последняя версия AHK 32 бит.
Ставил AHK 64 бит - та же самая ошибка.
Куда копать? Может из-за того, что везде рутера стоят?

4

Re: AHK: WinHTTPRequest ошибка 0x80072efd

Первый раз проверил на десятке. А на семёрке, действительно, второй запрос не работает, ошибка такая же.

5 (изменено: Malcev, 2017-10-31 10:32:20)

Re: AHK: WinHTTPRequest ошибка 0x80072efd

Не прошло и двух лет, как понял в чем была причина.
Сайт использует TLS 1.2 протокол.
А у WinHTTPRequest  на Win-7 в опциях можно прописать только 3 вида:

Protocol Value
SSL 2.0 0  x0008
SSL 3.0 0   x0020
Transport Layer Security (TLS) 1.0 0x0080

https://msdn.microsoft.com/en-us/librar … s.85).aspx
На Win10 добавили еще 2:

TLS 1.1
TLS 1.2

Чтобы их использовать на семерке нужно в реестре вписать:

The DefaultSecureProtocols registry entry can be added in the following path:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp
On x64-based computers, DefaultSecureProtocols must also be added to the Wow6432Node path:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp
The registry value is a DWORD bitmap. The value to use is determined by adding the values corresponding to the protocols desired.

DefaultSecureProtocols Value Protocol enabled
0x00000008 Enable SSL 2.0 by default
0x00000020 Enable SSL 3.0 by default
0x00000080 Enable TLS 1.0 by default
0x00000200 Enable TLS 1.1 by default
0x00000800 Enable TLS 1.2 by default

https://support.microsoft.com/en-us/hel … otocols-in
Чувствую, что пришло время с семёрки слезать.

6

Re: AHK: WinHTTPRequest ошибка 0x80072efd

+ Offtop
Malcev пишет:

Чувствую, что пришло время с семёрки слезать

Да, это веская причина

7 (изменено: Malcev, 2017-10-31 15:10:59)

Re: AHK: WinHTTPRequest ошибка 0x80072efd

+ открыть спойлер

Причина - уменьшение танцев с бубном.
Уже не знаешь, откуда очередной подставы ждать.
Например, адобовский премьер в последнем апдейте перестал воспринимать AC3 в MTS.
То есть, если в твоем проекте присутствуют такие файлы и ты решил проапгрейдиться, то звука на линейке ты не увидишь и не услышишь.
И после отката на предыдущую версию без танцев тоже.
Когда на форуме поднялся шум Адобе написали статейку:

Windows 7: Windows 7 does not include the media package required to decode AC-3. The best solution is to upgrade to Windows 10.

https://helpx.adobe.com/x-productkb/mul … pport.html
Это при том, что в системных тебованиях Win-7 присутствует.

8 (изменено: serge, 2017-11-07 13:51:22)

Re: AHK: WinHTTPRequest ошибка 0x80072efd

Malcev пишет:

Чтобы их использовать на семерке нужно в реестре вписать:

Я добавил REG_DWORD 0x00000800, но у меня просто перестали работать интернет.
Не подскажите как правильно в реестре прописать (Win7 64)?

9 (изменено: Malcev, 2017-11-07 14:22:02)

Re: AHK: WinHTTPRequest ошибка 0x80072efd

https://imgur.com/a/8Op1p

10

Re: AHK: WinHTTPRequest ошибка 0x80072efd

Malcev делал так-же но не помогло.

11

Re: AHK: WinHTTPRequest ошибка 0x80072efd

https://c.radikal.ru/c00/1801/c9/5c218f4ad339.jpg
Довольно долго работал банальный сценарий:


HTTP := ComObjCreate("WinHttp.WinHttpRequest.5.1")
HTTP.Open("GET", url, true)
HTTP.Send()
HTTP.WaitForResponse()
msgbox % HTTP.ResponseText

Сегодня, на двух, независимых друг от друга физических машинах с Win7 и одинаковым апдейтом отвалился софт, пользующий эти пять строк. Грешил было на обновление винды, но потом запускал так же и на виртуалках 7 и 10, которые не обновляются вообще. В ответ приходит то же самое. Ничего не менял, не устанавливал и прочее, особенно на второй машине, которая кроме открытой страницы ВК в браузере никаких внешних воздействий не получает. Как это могло произойти с уже действующими поделками, ума не приложу. Везде переискал решение, нашёл под носом.

Большое спасибо Серому форуму и в частности, Вам, Malcev! Очень много хороших идей и результативных решений на этих страницах. Прямо кладезь возможностей!

12

Re: AHK: WinHTTPRequest ошибка 0x80072efd

У меня тоже не пошло на x64. И вроде бы раздел Wow6432Node — скрытый, при попытке создания пишет, что такой есть. Запускал reg-файл, перезагружался —

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp]
"DefaultSecureProtocols"=hex(b):00,08,00,00,00,00,00,00