1 (изменено: Phoenixxx_Czar, 2018-07-10 17:12:34)

Тема: AHK: WinHttpRequest ошибка на win7

Столкнулся с такой проблемкой, у людей с win7, не получает ответ. Пишет ошибку:
https://image.prntscr.com/image/2lXG-kmYTd2durkSttp5Yw.png

Код:

try
{
	http := ComObjCreate("WinHttp.WinHttpRequest.5.1")
	http.Open(method, adress, false)
	http.SetRequestHeader("Referer", adress)
	http.SetRequestHeader("User-Agent", user_agent)
	http.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
	http.SetRequestHeader("Pragma","no-cache")
	http.Send(package)
	http.WaitForResponse(0)
	if (!StrLen(http.ResponseText))
		return "Empty response (#3)"
	else
	{
		if (http.Status !== 200)
			return  http.Status "(" http.StatusText ") (#4)"
		else
			return http.ResponseText
	}
}
catch e
{
	return e.message "(#5)"
}

(Это из функции вырезанный кусок отправки и проверок.)

Win10: LTSC (21H2); AHK: ANSI (v1.1.36.02)

2

Re: AHK: WinHttpRequest ошибка на win7

Phoenixxx_Czar, укажите в заголовке префикс скриптового языка, оформите ссылку тегом "URL", расставьте заглавные буквы и точки.

3 (изменено: Phoenixxx_Czar, 2018-07-09 00:03:00)

Re: AHK: WinHttpRequest ошибка на win7

ypppu, прошу прощения. Думал префикс "AHK" ставиться автоматические, т.к. он был у всех тем.
Насчет заглавных букв с точками я немного не понял, они стоят везде, кроме скобок в конце, т.к. считаю там не нужна точка и начало с большой буквы.

Win10: LTSC (21H2); AHK: ANSI (v1.1.36.02)

4

Re: AHK: WinHttpRequest ошибка на win7

Ну это мой код, который был в функции, и написан он для функции.
По дебагу видно, что код ошибки 5, значит, не удалось отправить запрос на сайт.
Смотря какой сайт еще, возможно, обращение к сети со стороны АХК блокирует антивирус.
Советую отключать антивирус и запускать АХК от имени админа.

5

Re: AHK: WinHttpRequest ошибка на win7

Phoenixxx_Czar, предложения должны начинаться с заглавной буквы и заканчиваться знаками препинания. Предложения не могут начинаться со скобки и заканчиваться скобкой (если Вы не знали).

6

Re: AHK: WinHttpRequest ошибка на win7

ypppu, правила дурные какие-то.
В русском языке - могут.

7

Re: AHK: WinHttpRequest ошибка на win7

OFF: toopie где это могут? Ссылку на литературу в студию!

8 (изменено: Malcev, 2018-07-09 00:59:35)

Re: AHK: WinHttpRequest ошибка на win7

Phoenixxx_Czar,
http://forum.script-coding.com/viewtopic.php?id=11238

ypppu пишет:

. Предложения не могут начинаться со скобки и заканчиваться скобкой

А как же по-вашему пишутся сценарии?

9

Re: AHK: WinHttpRequest ошибка на win7

Malcev, я уже находил данную тему, но она не помогла, пробовал качать файлик с сайта майкрософта, но все так же..

Win10: LTSC (21H2); AHK: ANSI (v1.1.36.02)

10

Re: AHK: WinHttpRequest ошибка на win7

А сайт какой?

11

Re: AHK: WinHttpRequest ошибка на win7

Malcev, личный. На вин10 ответ возвращает, на вин7 не хочет.

Win10: LTSC (21H2); AHK: ANSI (v1.1.36.02)

12

Re: AHK: WinHttpRequest ошибка на win7

Без адреса сайта сложно что-то сказать.

13

Re: AHK: WinHttpRequest ошибка на win7

OFF:

Malcev пишет:

А как же по-вашему пишутся сценарии?

В смысле? Программный код?

14 (изменено: Malcev, 2018-07-09 15:03:32)

Re: AHK: WinHttpRequest ошибка на win7

Я имею в виду такого типа:

Завуч:
— Школа к проведению торжественной линейки готова! Встречайте наших выпускников.

(Звучат фанфары и под торжественный марш выходят выпускники, они делают круг почета и останавливаются лицом к выстроенным классам. На них красивые ленты выпускника.)

Завуч:
— Слово предоставляется классному руководителю одиннадцатого класса (Ф. И. О.)

(Классный руководитель произносит подготовленную речь.)

http://pozdravok.ru/scenarii/prazdniki/ … iy-zvonok/

15

Re: AHK: WinHttpRequest ошибка на win7

OFF: Malcev, в широком смысле предложение может начинаться и заканчиваться скобкой. Но это не противоречит тому, что внутри скобок оно должно начинаться с заглавной буквы и оканчиваться знаком препинания.

(это из функции вырезанный кусок отправки и проверок)

Такое предложение - нарушение пунктуационных правил и правил форума.

16

Re: AHK: WinHttpRequest ошибка на win7

Согласен.

17 (изменено: MandarinKa02, 2018-07-09 19:17:52)

Re: AHK: WinHttpRequest ошибка на win7

Закомментируйте строку в коде и проблема исчезнет.

http.SetRequestHeader("Referer", adress)

Перед тем, как устанавливать заголовок - проверяйте значение переменной, поскольку данная ошибка появляется из-за этого.

P.S. Можно еще отключить отображение всех ошибок.

ComObjError(false)

18

Re: AHK: WinHttpRequest ошибка на win7

MandarinKa02, ошибаетесь.
У неправильного хедера код ошибки - 0x80072F76.
https://windows-hexerror.linestarve.com … winerror.h

19

Re: AHK: WinHttpRequest ошибка на win7

Malcev, неправильный хедер, подразумевается неправильное значение хедера? Или неизвестный хедер?

P.S. Даже, если и ошибаюсь. В любом случае противный msgbox пропадет.


msgbox % send()

send() {
try
{
	http := ComObjCreate("WinHttp.WinHttpRequest.5.1")
	http.Open("GET", "http://forum.script-coding.com/viewtopic.php?id=13921", false)
	;http.SetRequestHeader("Referer", adress)
	http.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 YaBrowser/18.6.0.2186 Yowser/2.5 Safari/537.36")
	http.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
	http.SetRequestHeader("Pragma","no-cache")
	http.Send(package)
	http.WaitForResponse(0)
	if (!StrLen(http.ResponseText))
		return "Empty response (#3)"
	else
	{
		if (http.Status !== 200)
			return  http.Status "(" http.StatusText ") (#4)"
		else
			return http.ResponseText
	}
}
catch e
{
	return e.message "(#5)"
}
}

20

Re: AHK: WinHttpRequest ошибка на win7

MandarinKa02 пишет:

подразумевается неправильное значение хедера? Или неизвестный хедер?

Не знаю, не проверял.
Я вообще хедер никогда не отправлял.
Но у топикстартера приходт ошибка не связанная с хедером, следовательно дело не в нем.

21

Re: AHK: WinHttpRequest ошибка на win7

Проверил.
У меня эта ошибка появляется при пустом значении тела заголовка.

http := ComObjCreate("WinHttp.WinHttpRequest.5.1")
http.Open("GET", "http://forum.script-coding.com", false)
http.SetRequestHeader("test", "")