<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK : Сократить текст отправляемого запроса WinHTTP]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=14236&amp;type=atom" />
	<updated>2018-10-16T20:09:37Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=14236</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK : Сократить текст отправляемого запроса WinHTTP]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=129274#p129274" />
			<content type="html"><![CDATA[<p><strong>kangar</strong>, объясните словами, что вы хотите получить.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2018-10-16T20:09:37Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=129274#p129274</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK : Сократить текст отправляемого запроса WinHTTP]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=129260#p129260" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong> Да, никак. У них api есть только для фото. Тут нужно весь код переписывать, чтобы сделать как я хотел. (Пост № 26 и далее)<br />Спасибо за помощь и хорошие примеры.</p>]]></content>
			<author>
				<name><![CDATA[kangar]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=39404</uri>
			</author>
			<updated>2018-10-15T18:13:34Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=129260#p129260</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK : Сократить текст отправляемого запроса WinHTTP]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=129259#p129259" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>kangar пишет:</cite><blockquote><p>Напрашивается вопрос - какую ссылку использовать для парса &quot;src=&quot; ?</p></blockquote></div><p>Надеюсь, вопрос риторический? <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> Мне разработчики сайта не сообщали.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2018-10-15T18:11:46Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=129259#p129259</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK : Сократить текст отправляемого запроса WinHTTP]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=129258#p129258" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong> Действительно, нет никакого unknow. НО!<br />Выдаёт пустое значение и с загруженной фотографией. Это происходит из-за того, что я вызываю не ту страницу. Один из первых кодов что вы скинули(Пост #25) загружает картинку через api сайта(https://www.betafaceapi.com/api/v2/media), не заметив этого я начал открывать новую страницу (http://betaface.com/demo.html) из-за чего фотография пропадает.<br />Напрашивается вопрос - какую ссылку использовать для парса &quot;src=&quot; ?<br />Перейдя по ссылке api выдаёт пустую страницу и </p><div class="codebox"><pre><code>{
  &quot;error_code&quot;: -1,
  &quot;error_description&quot;: &quot;invalid api key or secret&quot;
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[kangar]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=39404</uri>
			</author>
			<updated>2018-10-15T18:03:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=129258#p129258</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK : Сократить текст отправляемого запроса WinHTTP]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=129257#p129257" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>kangar пишет:</cite><blockquote><p>Если её нет, должно выдать unknow</p></blockquote></div><p>Не знаю, мне такой html приходит:</p><p><span class="postimg"><img src="https://i.imgur.com/9wqdVQf.png" alt="https://i.imgur.com/9wqdVQf.png" /></span></p><p>Никакого «unknow», как видите. Сохраните ResponseText в буфер обмена, откройте в блокноте.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2018-10-15T16:30:54Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=129257#p129257</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK : Сократить текст отправляемого запроса WinHTTP]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=129256#p129256" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong> <br />Пробую с вашим куском кода - выдает нужный текст. (&quot;этот текст нам нужно найти&quot;)<br />Загружаю страницу просто без картинки (Если её нет, должно выдать unknow)<br /></p><div class="codebox"><pre><code>oWhr.Open(&quot;GET&quot;, &quot;http://betaface.com/demo.html&quot;, false)
oWhr.Send() 
MsgBox % oWhr.ResponseText()
html := oWhr.ResponseText
RegExMatch(html, &quot;&lt;img id=&quot;&quot;search_original_image&quot;&quot;.+?src=&quot;&quot;\K[^&quot;&quot;]+&quot;, src)
MsgBox, % src1
</code></pre></div><p> - пусто.</p>]]></content>
			<author>
				<name><![CDATA[kangar]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=39404</uri>
			</author>
			<updated>2018-10-15T16:05:58Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=129256#p129256</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK : Сократить текст отправляемого запроса WinHTTP]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=129255#p129255" />
			<content type="html"><![CDATA[<p>А почему вы решили, что она там есть? Потому, что видите её на экране?<br />Вот смотрите:<br /></p><div class="codebox"><pre><code>html =
(

                  &lt;div&gt;
                    &lt;!-- Slider --&gt;
                      &lt;div class=&quot;row box&quot;&gt;
                            &lt;img id=&quot;search_original_image&quot; class=&quot;img-responsive&quot; src=&quot;этот текст нам нужно найти&quot;&gt;
                            &lt;span class=&quot;text-center&quot;&gt;Original Face&lt;/span&gt;
                      &lt;/div&gt;
                      &lt;div class=&quot;loading&quot; id=&quot;search_loading&quot; style=&quot;    position: relative;top: 57px;margin-bottom: 124px;&quot;&gt;&lt;/div&gt;

                      &lt;div id=&quot;search_text_result&quot; style=&quot;color: #e51837;font-size: 18px;text-align: center;display: none;&quot;&gt;&lt;/div&gt;
                      &lt;div class=&quot;row&quot; id=&quot;search_result_section&quot; style=&quot;&quot;&gt;
                          &lt;div id=&quot;content-2&quot; class=&quot;content&quot;&gt;
                              &lt;ul&gt;
                              &lt;/ul&gt;
                          &lt;/div&gt;
                     &lt;/div&gt;
                  &lt;/div&gt;
)
RegExMatch(html, &quot;&lt;img id=&quot;&quot;search_original_image&quot;&quot;.+?src=&quot;&quot;\K[^&quot;&quot;]+&quot;, src)
MsgBox, % src </code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2018-10-15T14:56:57Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=129255#p129255</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK : Сократить текст отправляемого запроса WinHTTP]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=129254#p129254" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong> Нет. Это я просто показал, как устроена страница с картинкой и без неё.</p>]]></content>
			<author>
				<name><![CDATA[kangar]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=39404</uri>
			</author>
			<updated>2018-10-15T10:50:54Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=129254#p129254</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK : Сократить текст отправляемого запроса WinHTTP]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=129253#p129253" />
			<content type="html"><![CDATA[<p>Я не совсем понял, вы пытаетесь найти картинку, которой нет?</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2018-10-15T09:35:33Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=129253#p129253</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK : Сократить текст отправляемого запроса WinHTTP]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=129252#p129252" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong> Должно, да не нашло:<br />Вот весь путь к картинке:<br /><a href="http://uploads.ru/hrJom.png"><span class="postimg"><img src="http://s5.uploads.ru/t/hrJom.png" alt="http://s5.uploads.ru/t/hrJom.png" /></span></a><br />Как это выглядит без картинки:<br /><a href="http://uploads.ru/HJQpj.png"><span class="postimg"><img src="http://sd.uploads.ru/t/HJQpj.png" alt="http://sd.uploads.ru/t/HJQpj.png" /></span></a></p>]]></content>
			<author>
				<name><![CDATA[kangar]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=39404</uri>
			</author>
			<updated>2018-10-15T09:29:23Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=129252#p129252</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK : Сократить текст отправляемого запроса WinHTTP]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=129249#p129249" />
			<content type="html"><![CDATA[<p>Так должно найтись:<br /></p><div class="codebox"><pre><code>RegExMatch(html, &quot;&lt;img id=&quot;&quot;search_original_image&quot;&quot;.+?src=&quot;&quot;\K[^&quot;&quot;]+&quot;, src)
MsgBox, % src</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2018-10-14T21:19:55Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=129249#p129249</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK : Сократить текст отправляемого запроса WinHTTP]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=129248#p129248" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong> Спасибо большое за код.<br />Если разрешите, задам вопрос немного уходящий от темы (не хочу создавать новую тему для этого)<br /></p><div class="codebox"><pre><code>html := oWhr.ResponseText
RegExMatch(html, &quot;div class=&quot;&quot;row box&quot;&quot;&gt;&lt;img.*&gt; src=(.*?)&quot;, arc)
MsgBox, % arc1</code></pre></div><p><a href="http://uploads.ru/JwL1Z.png"><span class="postimg"><img src="http://sg.uploads.ru/t/JwL1Z.png" alt="http://sg.uploads.ru/t/JwL1Z.png" /></span></a><br />Я хочу вытащить картинку со страницы, а точнее её вид в base64.<br />Этот код находится вот src=&quot;тут&quot; Пробую вытащить через регулярку - не выходит. <br />По поводу закрытия &lt;/img&gt; и &lt;/div&gt; -&nbsp; Scrite4Autohotkey светит синтаксис, я что-то упустил.<br /><a href="http://uploads.ru/s6IMT.png"><span class="postimg"><img src="http://s8.uploads.ru/t/s6IMT.png" alt="http://s8.uploads.ru/t/s6IMT.png" /></span></a></p>]]></content>
			<author>
				<name><![CDATA[kangar]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=39404</uri>
			</author>
			<updated>2018-10-14T20:34:52Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=129248#p129248</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK : Сократить текст отправляемого запроса WinHTTP]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=129235#p129235" />
			<content type="html"><![CDATA[<p>Хах, точно, он там открытым текстом записан. Тогда так:<br /></p><div class="codebox"><pre><code>; upload file to https://betaface.com/demo.html

FileSelectFile, filePath,, %A_ScriptDir%, Выберите файл изображения, Изображения (*.gif; *.ti*f; *.jp*g; *.png; *.bmp)
if !filePath
   Return

oWhr := ComObjCreate(&quot;WinHttp.WinHttpRequest.5.1&quot;)
oWhr.Open(&quot;GET&quot;, &quot;http://betaface.com/demo.html&quot;, false)
oWhr.Send()
if (oWhr.Status != 200 || !RegExMatch(oWhr.ResponseText, &quot;&#039;api_key&#039;:\s&#039;\K.+?(?=&#039;)&quot;, api_key))  {
   MsgBox, Fail
   Return
}
oFile := FileOpen(filePath, &quot;r&quot;, &quot;cp0&quot;)
size := oFile.RawRead(buff, oFile.length())
oFile.Close()
base64 := CryptBinaryToStringBASE64(&amp;buff, size, true)

JSON := &quot;{&#039;api_key&#039;:&#039;&quot;     . api_key . &quot;&#039;,&quot;
       . &quot;&#039;detection_flags&#039;:&#039;cropface,recognition,content,classifiers,basicpoints,propoints&#039;,&quot;
       . &quot;&#039;file_base64&#039;:&#039;&quot; . base64 . &quot;&#039;}&quot;
       
headers := { &quot;Content-Type&quot;:   &quot;application/json&quot;
           , &quot;Content-Length&quot;:  StrLen(JSON)
           , &quot;Connection&quot;:     &quot;keep-alive&quot;
           , &quot;Referer&quot;:        &quot;https://betaface.com/demo.html&quot;
           , &quot;User-Agent&quot;:     &quot;Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko&quot; }
           
oWhr.Open(&quot;POST&quot;, &quot;https://www.betafaceapi.com/api/v2/media&quot;, false)
for k, v in headers
   oWhr.SetRequestHeader(k, v)
oWhr.Send(JSON)
MsgBox, % JSON := oWhr.ResponseText

CryptBinaryToStringBASE64(pData, bytes, NOCRLF = &quot;&quot;)
{
   static CRYPT_STRING_BASE64 := 1, CRYPT_STRING_NOCRLF := 0x40000000
   CRYPT := CRYPT_STRING_BASE64 | (NOCRLF ? CRYPT_STRING_NOCRLF : 0)
   
   DllCall(&quot;Crypt32\CryptBinaryToString&quot;, Ptr, pData, UInt, bytes, UInt, CRYPT, Ptr, 0, UIntP, chars)
   VarSetCapacity(outData, chars &lt;&lt; !!A_IsUnicode)
   DllCall(&quot;Crypt32\CryptBinaryToString&quot;, Ptr, pData, UInt, bytes, UInt, CRYPT, Str, outData, UIntP, chars)
   Return outData
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2018-10-14T00:59:41Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=129235#p129235</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK : Сократить текст отправляемого запроса WinHTTP]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=129234#p129234" />
			<content type="html"><![CDATA[<p>Ну его можно проверять на <a href="http://betaface.com/demo.html">http://betaface.com/demo.html</a>.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2018-10-14T00:03:15Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=129234#p129234</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK : Сократить текст отправляемого запроса WinHTTP]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=129226#p129226" />
			<content type="html"><![CDATA[<p>Не мучайтесь. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br /></p><div class="codebox"><pre><code>FileSelectFile, filePath,,, Выберите файл изображения, Изображения (*.gif; *.tif; *.tiff; *.jpg; *.jpeg; *.png; *.bmp)
if !filePath
   Return

oFile := FileOpen(filePath, &quot;r&quot;, &quot;cp0&quot;)
size := oFile.RawRead(buff, oFile.length())
oFile.Close()
base64 := CryptBinaryToStringBASE64(&amp;buff, size, true)
obj := { api_key:         &quot;d45fd466-51e2-4701-8da8-04351c872236&quot;
       , detection_flags: &quot;cropface,recognition,content,classifiers,basicpoints,propoints&quot;
       , file_base64:     base64 }
JSON := json_fromobj(obj)

oWhr := ComObjCreate(&quot;WinHttp.WinHttpRequest.5.1&quot;)
oWhr.Open(&quot;POST&quot;, &quot;https://www.betafaceapi.com/api/v2/media&quot;, false)

oWhr.SetRequestHeader(&quot;Content-Type&quot;, &quot;application/json&quot;)
oWhr.SetRequestHeader(&quot;Content-Length&quot;, StrLen(JSON))
oWhr.SetRequestHeader(&quot;Connection&quot;, &quot;keep-alive&quot;)
oWhr.SetRequestHeader(&quot;Referer&quot;, &quot;https://betaface.com/demo.html&quot;)
oWhr.SetRequestHeader(&quot;User-Agent&quot;, &quot;Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko&quot;)
oWhr.Send(JSON)
MsgBox, % JSON := oWhr.ResponseText

CryptBinaryToStringBASE64(pData, bytes, NOCRLF = &quot;&quot;)
{
   static CRYPT_STRING_BASE64 := 1, CRYPT_STRING_NOCRLF := 0x40000000
   CRYPT := CRYPT_STRING_BASE64 | (NOCRLF ? CRYPT_STRING_NOCRLF : 0)
   
   DllCall(&quot;Crypt32\CryptBinaryToString&quot;, Ptr, pData, UInt, bytes, UInt, CRYPT, Ptr, 0, UIntP, chars)
   VarSetCapacity(outData, chars &lt;&lt; !!A_IsUnicode)
   DllCall(&quot;Crypt32\CryptBinaryToString&quot;, Ptr, pData, UInt, bytes, UInt, CRYPT, Str, outData, UIntP, chars)
   Return outData
}

json_fromobj(obj)  {
   if IsObject( obj )  {
      isArray := true
      for key in obj
         if !( key = A_Index || isArray := false )
            break
         
      for k, v in obj
         str .= ( A_Index = 1 ? &quot;&quot; : &quot;,&quot; ) . ( isArray ? &quot;&quot; : json_fromobj(k) . &quot;:&quot; ) . json_fromobj(v)

      return isArray ? &quot;[&quot; str &quot;]&quot; : &quot;{&quot; str &quot;}&quot;
   }
   else if !(obj*1 = &quot;&quot; || RegExMatch(obj, &quot;\s&quot;))
      return obj
   
   for k, v in [[&quot;\&quot;, &quot;\\&quot;], [A_Tab, &quot;\t&quot;], [&quot;&quot;&quot;&quot;, &quot;\&quot;&quot;&quot;], [&quot;/&quot;, &quot;\/&quot;], [&quot;`n&quot;, &quot;\n&quot;], [&quot;`r&quot;, &quot;\r&quot;], [Chr(12), &quot;\f&quot;], [Chr(08), &quot;\b&quot;]]
      obj := StrReplace( obj, v[1], v[2] )
   
   while RegexMatch( obj, &quot;[^\x20-\x7e]&quot;, key )  {
      str := Asc( key )
      val := &quot;\u&quot; . Chr( ( ( str &gt;&gt; 12 ) &amp; 15 ) + ( ( ( str &gt;&gt; 12 ) &amp; 15 ) &lt; 10 ? 48 : 55 ) )
            . Chr( ( ( str &gt;&gt; 8 ) &amp; 15 ) + ( ( ( str &gt;&gt; 8 ) &amp; 15 ) &lt; 10 ? 48 : 55 ) )
            . Chr( ( ( str &gt;&gt; 4 ) &amp; 15 ) + ( ( ( str &gt;&gt; 4 ) &amp; 15 ) &lt; 10 ? 48 : 55 ) )
            . Chr( ( str &amp; 15 ) + ( ( str &amp; 15 ) &lt; 10 ? 48 : 55 ) )
      obj := StrReplace(obj, key, val)
   }
   Return &quot;&quot;&quot;&quot; obj &quot;&quot;&quot;&quot;
}</code></pre></div><p>Там, правда, есть значение ключа — api_key: &quot;d45fd466-51e2-4701-8da8-04351c872236&quot; — не уверен, что оно постоянное.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2018-10-13T19:57:09Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=129226#p129226</id>
		</entry>
</feed>
