<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: ComObjCreate("WinHTTP.WinHTTPRequest.5.1")]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=15520&amp;type=atom" />
	<updated>2020-07-15T14:57:23Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=15520</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: ComObjCreate("WinHTTP.WinHTTPRequest.5.1")]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=140690#p140690" />
			<content type="html"><![CDATA[<p>Тут вроде достаточно было только User-Agent прописать.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2020-07-15T14:57:23Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=140690#p140690</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: ComObjCreate("WinHTTP.WinHTTPRequest.5.1")]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=140689#p140689" />
			<content type="html"><![CDATA[<p>В стремлении за своим любопытством, сквозь терни неизведанного, брошенный в прошлое взгляд из любой перспективы будет видеть велосипеды. Много велосипедов ... Свалку! <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><p>Я утешаю себя тем, что в моих экспериментах, не пострадало ни одного котика. <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" /><br />Всё это, в любом случае == не зря.</p>]]></content>
			<author>
				<name><![CDATA[KusochekDobra]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33846</uri>
			</author>
			<updated>2020-07-15T13:16:28Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=140689#p140689</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: ComObjCreate("WinHTTP.WinHTTPRequest.5.1")]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=140685#p140685" />
			<content type="html"><![CDATA[<p><strong>KusochekDobra</strong><br />сейчас обнаружил <a href="https://www.autohotkey.com/docs/commands/URLDownloadToFile.htm">https://www.autohotkey.com/docs/command … ToFile.htm</a><br />Эта штука работает вроде стабильно, я выходит велосипед изобретал...</p>]]></content>
			<author>
				<name><![CDATA[dmitry-semin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=39549</uri>
			</author>
			<updated>2020-07-15T02:53:58Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=140685#p140685</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: ComObjCreate("WinHTTP.WinHTTPRequest.5.1")]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=140653#p140653" />
			<content type="html"><![CDATA[<p>Не отвечу прямо на Ваш вопрос, но надеюсь направить по верному пути.</p><p>Сайты, особенно те, которые относят себя к серьёзным ресурсам, любят, когда к ним обращаются максимально корректно.<br />Чтобы наверняка узнать, какую форму обращения от Вас ожидает сайт, нужно перейти на него в браузере, открыть отладчик(Ctrl + Shift + I — в хроме) и на вкладке &quot;Network&quot;(в хроме), найти интересующий запрос. Тыкнув по нему курсором, обнаружите всю интересующую информацию.</p><p>Теперь, Ваша задача состоит в том, чтобы повторить свой запрос максимально похожим образом.</p><p>Так же, стоит иметь под рукой какую-нибудь простую поделку, позволяющую налету дополнять свои попытки новыми данными и для удобства, визуализировать результат. Например:<br /></p><div class="codebox"><pre><code>
#NoEnv
#SingleInstance, Force
SetWorkingDir,% A_ScriptDir

DetectHiddenWindows, On
SetTitleMatchMode, 2
ListLines, Off
SetBatchLines, -1
OnExit, BeforeExit

SplitPath,% A_ScriptFullPath,,,, fNameNoExt

; &gt;&gt;--++--&lt;&lt;  &gt;&gt;--++--&lt;&lt;
	ww := 800
; &gt;&gt;--++--&lt;&lt;  &gt;&gt;--++--&lt;&lt;
	INI := &quot;Config.ini&quot;
	if (!FileExist(INI))
		FileAppend,,% INI,UTF-16
	
	IniRead, x_pos,% INI, Main, x_pos, -1
	IniRead, y_pos,% INI, Main, y_pos, -1
	IniRead, url,% INI, Main, url, https://zakupki.gov.ru/epz/order/notice/ea44/view/common-info.html?regNumber=0334200012520000315
; &gt;&gt;--++--&lt;&lt;  &gt;&gt;--++--&lt;&lt;

Gui, 1: +HWND_main_h
Gui, 1: Margin, 10, 10
Gui, 1: Font, s10 w500 cBlue, Consolas
Gui, 1: Add, Edit, w%ww% v_url,% url
Gui, 1: Add, Edit, w%ww% r5 v_headers,Headers
Gui, 1: Add, Edit, w%ww% r20 v_body,Body
Gui, 1: Font
Gui, 1: Add, Button, w%ww% gDoGet,Get

if (x_pos &gt; -1 &amp;&amp; y_pos &gt; -1)
	Gui, 1: Show,x%x_pos% y%y_pos%,% fNameNoExt
else
	Gui, 1: Show,,% fNameNoExt

;	Повторяем заголовки из браузера, исключая из списка те, что запрашивают сжатие контента
request_headers =
(
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7
Cache-Control: max-age=0
Connection: keep-alive
Host: zakupki.gov.ru
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36
)

prepare_headers := []
For k, v in StrSplit(request_headers, &quot;`n&quot;)
	prepare_headers.Push(StrSplit(v, &quot;: &quot;))

Return
DoGet:
	Gui, 1: Submit, NoHide
	; result := _Get(_url)
	result := _Get(_url, prepare_headers)
	GuiControl,,_headers,% result.headers
	GuiControl,,_body,% result.text
Return

_Get(url, headers := &quot;&quot;, proxy := &quot;&quot;) {
	oHTTP := ComObjCreate(&quot;WinHttp.WinHttpRequest.5.1&quot;)
	oHTTP.Open(&quot;GET&quot;, url, false)
	if (proxy)
		oHTTP.SetProxy(2, proxy)
	if (!headers)
		oHTTP.SetRequestHeader(&quot;User-Agent&quot;, &quot;Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0&quot;)
	else
		For k, v in headers
			oHTTP.SetRequestHeader(v[1], v[2])
	oHTTP.Send()
	return {text: oHTTP.ResponseText, headers: oHTTP.getAllResponseHeaders()}
}

BeforeExit:
	
	Gui, 1: Submit
	WinGetPos, xx, yy, , , ahk_id%_main_h%
	
	if (xx != x_pos &amp;&amp; xx &gt; 0)
		IniWrite,% xx,% INI, Main, x_pos
	if (yy != y_pos &amp;&amp; yy &gt; 0)
		IniWrite,% yy,% INI, Main, y_pos
	if (_url != url &amp;&amp; _url)
		IniWrite,% _url,% INI, Main, url
	
	; Some commands
	
	if (A_ExitReason) {
		ExitApp
	}
Return

GuiClose:
	ExitApp
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[KusochekDobra]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33846</uri>
			</author>
			<updated>2020-07-13T07:28:45Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=140653#p140653</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: ComObjCreate("WinHTTP.WinHTTPRequest.5.1")]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=140652#p140652" />
			<content type="html"><![CDATA[<p>Наверное тему можно закрывать, т.к. разобрался сам. Не понял почему, но при добавлении в код&nbsp; этих двух строк&nbsp; все работает. Скорее всего в моем начальном коде есть проблема с установкой соединения.</p><div class="codebox"><pre><code>ie := ComObjCreate(&quot;InternetExplorer.Application&quot;)
ie.Navigate(link)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[dmitry-semin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=39549</uri>
			</author>
			<updated>2020-07-13T07:24:09Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=140652#p140652</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: ComObjCreate("WinHTTP.WinHTTPRequest.5.1")]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=140651#p140651" />
			<content type="html"><![CDATA[<p>Добрый день!<br />Есть код, который должен получать информацию с сайта закупок в виде текста.<br />Работает в 50% случаев. Зацикливание запросов результата не дает.<br />После перезапуска скрипта может сработать.<br />Непонятно следующее:<br />1) Связано ли&nbsp; это именно с тем что я использую именно AHK?<br />2) Почему цикл не добивается нормального результата, а перезагрузка скрипта помогает?<br />3) Не посчитают ли подобное попыткой обвалить сайт закупок? мне бы этого не хотелось(<br />4) Есть ли более простой способ, получения такой информации?</p><div class="codebox"><pre><code>#Persistent
#SingleInstance force
#InstallKeybdHook
#InstallMouseHook
#UseHook
#NoEnv
DetectHiddenWindows, On
if not (A_IsAdmin or RegExMatch(full_command_line, &quot; /restart(?!\S)&quot;))
{
    try
    {
    if A_IsCompiled
        Run *RunAs &quot;%A_ScriptFullPath%&quot; /restart
    else
        Run *RunAs &quot;%A_AhkPath%&quot; /restart &quot;%A_ScriptFullPath%&quot;
    }
    ExitApp
}
StartTime := A_TickCount



Label:
Filename := &quot;C:\Users\sda\Desktop\output.txt&quot;
FileRecycle, %Filename%
link := &quot;https://zakupki.gov.ru/epz/order/notice/ea44/view/common-info.html?regNumber=0334200012520000315&quot;
req := ComObjCreate(&quot;WinHTTP.WinHTTPRequest.5.1&quot;)
req.Open(&quot;GET&quot;, link, false)
req.Send()
sleep 1000
text := req.responseText
text := StrReplace(text,&quot;`r`n`r`n&quot;,&quot;`r`n&quot;)
text := StrReplace(text,&quot;`n`n&quot;,&quot;`n&quot;)
if not InStr(text, &quot;Единая информационная система в сфере закупок&quot;)
{
    ToolTip, %Count%`r`n%text%, 1, 1
    Count += 1
    Goto, Label
}
FileAppend, %text%, %Filename%
run %Filename%
return
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[dmitry-semin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=39549</uri>
			</author>
			<updated>2020-07-13T05:16:41Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=140651#p140651</id>
		</entry>
</feed>
