<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: WinHTTPRequest]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=18087&amp;type=atom" />
	<updated>2024-02-14T05:55:15Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=18087</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinHTTPRequest]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=160351#p160351" />
			<content type="html"><![CDATA[<p>Пример логина:<br /></p><div class="codebox"><pre><code>login := &quot;qwerty@qwerty.com&quot;
pass := &quot;qwerty&quot;
data := &quot;login=&quot; login &quot;&amp;pass=&quot; pass &quot;&amp;&quot;

DllCall(&quot;LoadLibrary&quot;, &quot;str&quot;, &quot;winhttp.dll&quot;, &quot;ptr&quot;)
hSession := DllCall(&quot;winhttp\WinHttpOpen&quot;, &quot;str&quot;, &quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36&quot;, &quot;uint&quot;, WINHTTP_ACCESS_TYPE_DEFAULT_PROXY := 0, &quot;ptr&quot;, WINHTTP_NO_PROXY_NAME := 0, &quot;ptr&quot;, WINHTTP_NO_PROXY_BYPASS := 0, &quot;uint&quot;, 0, &quot;ptr&quot;)
hConnect := DllCall(&quot;winhttp\WinHttpConnect&quot;, &quot;ptr&quot;, hSession, &quot;str&quot;, &quot;nebdeti.ru&quot;, &quot;uint&quot;, INTERNET_DEFAULT_HTTPS_PORT := 443, &quot;uint&quot;, 0, &quot;ptr&quot;)
hRequest := DllCall(&quot;winhttp\WinHttpOpenRequest&quot;, &quot;ptr&quot;, hConnect, &quot;str&quot;, &quot;POST&quot;, &quot;str&quot;, &quot;/authorization&quot;, &quot;ptr&quot;, 0, &quot;str&quot;, &quot;https://nebdeti.ru/authorization&quot;, &quot;ptr&quot;, WINHTTP_DEFAULT_ACCEPT_TYPES := 0, &quot;uint&quot;, 0x00800000|0x00000100, &quot;ptr&quot;)   ; WINHTTP_FLAG_SECURE|WINHTTP_FLAG_REFRESH
len := strput(data, &quot;utf-8&quot;)
varsetcapacity(body, len, 0)
strput(data, &amp;body, &quot;utf-8&quot;)
DllCall(&quot;winhttp\WinHttpSendRequest&quot;, &quot;ptr&quot;, hRequest, &quot;str&quot;, &quot;Content-Type: application/x-www-form-urlencoded&quot;, &quot;uint&quot;, -1, &quot;ptr&quot;, &amp;body, &quot;uint&quot;, len, &quot;uint&quot;, len, &quot;ptr&quot;, 0)
DllCall(&quot;winhttp\WinHttpReceiveResponse&quot;, &quot;ptr&quot;, hRequest, &quot;ptr&quot;, 0)
varsetcapacity(pszOutBuffer, 100000, 0)
DllCall(&quot;winhttp\WinHttpReadData&quot;, &quot;ptr&quot;, hRequest, &quot;ptr&quot;, &amp;pszOutBuffer, &quot;uint&quot;, 100000, &quot;uint*&quot;, dwDownloaded)
msgbox % ResponseText := strget(&amp;pszOutBuffer, &quot;utf-8&quot;)
DllCall(&quot;winhttp\WinHttpCloseHandle&quot;, &quot;ptr&quot;, hRequest)
DllCall(&quot;winhttp\WinHttpCloseHandle&quot;, &quot;ptr&quot;, hConnect)
DllCall(&quot;winhttp\WinHttpCloseHandle&quot;, &quot;ptr&quot;, hSession)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2024-02-14T05:55:15Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=160351#p160351</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinHTTPRequest]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=160303#p160303" />
			<content type="html"><![CDATA[<p>По вашему совету через гугл смотрел. Наверно и так сойдет, тем более что через КОМ короче получается код и его можно запускать с try/catch на случай ошибки соединения:</p><div class="codebox"><pre><code>loop
   {
      HTTP.Open(&quot;GET&quot;, URL, true)
      try {
         HTTP.Send()
         HTTP.WaitForResponse()
         break
      }
      catch {
         Sleep, 5000
      }
   }</code></pre></div>]]></content>
			<author>
				<name><![CDATA[john_dease]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42972</uri>
			</author>
			<updated>2024-02-08T19:15:38Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=160303#p160303</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinHTTPRequest]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=160298#p160298" />
			<content type="html"><![CDATA[<p>А как вы ищите?<br />Если в поиске на оф. сайте вставить WinHttpSendRequest, то выйдет следующая ссылка:<br /><a href="https://www.autohotkey.com/boards/viewtopic.php?f=7&amp;t=4038">https://www.autohotkey.com/boards/viewt … amp;t=4038</a></p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2024-02-08T10:17:29Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=160298#p160298</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinHTTPRequest]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=160295#p160295" />
			<content type="html"><![CDATA[<p>Примеров не нашлось - сделал с извлечением кук со страницы. Спасибо!</p>]]></content>
			<author>
				<name><![CDATA[john_dease]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42972</uri>
			</author>
			<updated>2024-02-08T04:01:48Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=160295#p160295</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinHTTPRequest]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=160286#p160286" />
			<content type="html"><![CDATA[<p>Лень писать. Гуглите примеры.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2024-02-07T17:21:42Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=160286#p160286</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinHTTPRequest]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=160283#p160283" />
			<content type="html"><![CDATA[<p>А как там Send указывать?<br /></p><div class="codebox"><pre><code>HTTP.Send(&quot;login=&quot; login &quot;&amp;pass=&quot; pass)</code></pre></div><p>Пробовал в headers и сюда вписывать:<br /></p><div class="codebox"><pre><code>if (hRequest)
  bResults := DllCall(&quot;winhttp\WinHttpSendRequest&quot;, &quot;Ptr&quot;, hRequest
        ,&quot;WStr&quot;, headers
        ,&quot;UInt&quot;, -1
        ,&quot;Ptr&quot;, WINHTTP_NO_REQUEST_DATA
        ,&quot;UInt&quot;, 0
        ,&quot;UInt&quot;, 0
        ,&quot;Ptr&quot;, 0)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[john_dease]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42972</uri>
			</author>
			<updated>2024-02-07T16:52:49Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=160283#p160283</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinHTTPRequest]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=160281#p160281" />
			<content type="html"><![CDATA[<p>Логиньтесь через winhttp.dll напрямую. По приведённым ссылкам достаточно информации.<br />Хедеры по правилам разделять `r`n, хотя у меня всегда и с `n работало.<br /><a href="https://learn.microsoft.com/en-us/windows/win32/api/winhttp/nf-winhttp-winhttpaddrequestheaders">https://learn.microsoft.com/en-us/windo … estheaders</a></p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2024-02-07T15:03:30Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=160281#p160281</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinHTTPRequest]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=160280#p160280" />
			<content type="html"><![CDATA[<p>Нет. Но они могут быть защифрованы в исходном коде страницы.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2024-02-07T14:58:41Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=160280#p160280</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinHTTPRequest]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=160278#p160278" />
			<content type="html"><![CDATA[<p>Спасибо, заработало. Только не понятно, почему логин после авторизации не возвращает куки. К примеру, следующий код логинится, но GetAllResponseHeaders не выводит куки. Есть ли другая команда для показа куки?</p><div class="codebox"><pre><code>login := &quot;ПОЧТА&quot;
pass := &quot;ПАРОЛЬ&quot;

HTTP := ComObjCreate(&quot;WinHTTP.WinHTTPRequest.5.1&quot;)
HTTP.Open(&quot;POST&quot;, &quot;https://nebdeti.ru/authorization&quot;, true)
HTTP.SetRequestHeader(&quot;Content-Type&quot;, &quot;application/x-www-form-urlencoded&quot;)
HTTP.SetRequestHeader(&quot;User-Agent&quot;, &quot;Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 Safari/537.36&quot;)
HTTP.SetRequestHeader(&quot;referer&quot;, &quot;https://nebdeti.ru/authorization&quot;)
HTTP.Send(&quot;login=&quot; login &quot;&amp;pass=&quot; pass)
HTTP.WaitForResponse()
;RTxt := HTTP.ResponseText
;msgbox % RTxt
msgbox % HTTP.GetAllResponseHeaders</code></pre></div>]]></content>
			<author>
				<name><![CDATA[john_dease]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42972</uri>
			</author>
			<updated>2024-02-07T14:34:30Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=160278#p160278</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinHTTPRequest]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=160277#p160277" />
			<content type="html"><![CDATA[<p>Если файл скачивается только при отправки в хедерсах рефёрера, то если так файл скачивается, то запись правильная:<br /></p><div class="codebox"><pre><code>headers =
(
header1: qwert
referer: %url%
header2: qwertyu
)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2024-02-07T13:22:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=160277#p160277</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinHTTPRequest]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=160276#p160276" />
			<content type="html"><![CDATA[<p>Именно куков в дополнение должно быть достаточно - это видно по работе кода через ком объект для ПДФ-файлов небольшого размера, которые нормально грузятся с реферером и логином. Что означает, что куки из логина они подхватывают и скачивают файл. Но код для winhttp.dll нужен для скачивания больших файлов, но в нем непонятно, как прописывать несколько хедеров, и посмотреть нет возможности, так как код мало использовался.</p>]]></content>
			<author>
				<name><![CDATA[john_dease]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42972</uri>
			</author>
			<updated>2024-02-07T13:12:51Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=160276#p160276</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinHTTPRequest]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=160274#p160274" />
			<content type="html"><![CDATA[<p>Чтобы понимать почему не работает надо копаться с сайтом, может юзер-агент должен быть идентичным, может еще что, может куки не те отправляете.<br />Мне в этом копаться неинтересно.<br /></p><div class="codebox"><pre><code>headers =
(
header1: qwert
referer: %url%
header2: qwertyu
)</code></pre></div><p>Если реферер отправляется, то запись правильная.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2024-02-07T13:07:26Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=160274#p160274</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinHTTPRequest]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=160273#p160273" />
			<content type="html"><![CDATA[<p>Я проверил — не работает. Просто вы сказали что без понятия, почему не срабатывает - из чего могло следовать, что по формату должно срабатывать.</p>]]></content>
			<author>
				<name><![CDATA[john_dease]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42972</uri>
			</author>
			<updated>2024-02-07T13:03:59Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=160273#p160273</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinHTTPRequest]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=160272#p160272" />
			<content type="html"><![CDATA[<p>А кто вам мешает проверить это самому?</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2024-02-07T12:58:33Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=160272#p160272</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: WinHTTPRequest]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=160271#p160271" />
			<content type="html"><![CDATA[<p>Имелось в виду, как в этом коде правильно указать более одного хедера? То есть, до моей правки на реферер, там был хедер для диапазона байтов:<br /></p><div class="codebox"><pre><code>headers := &quot;Range: bytes=0-450673718&quot;</code></pre></div><p>А в каком формате к нему добавлять еще один хедер? Или это правильный формат? -<br /></p><div class="codebox"><pre><code>headers =
(
referer: %url%
cookie: %cookie%
)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[john_dease]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42972</uri>
			</author>
			<updated>2024-02-07T12:55:03Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=160271#p160271</id>
		</entry>
</feed>
