<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Чтение страницы браузера, поиск bb-code и его использование]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=10838</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=10838&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Чтение страницы браузера, поиск bb-code и его использование».]]></description>
		<lastBuildDate>Fri, 31 Jul 2015 20:33:51 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Чтение страницы браузера, поиск bb-code и его использование]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=96161#p96161</link>
			<description><![CDATA[<p>Посмотреть, какие Post запросы отправляются. <br />И попробовать отправить их.<br />Вот например на наш форум так заходит:<br /></p><div class="codebox"><pre><code>url := &quot;http://forum.script-coding.com/login.php&quot;
login := &quot;login&quot;
password := &quot;pass&quot;

cookies := Object()
WebRequest := ComObjCreate(&quot;WinHttp.WinHttpRequest.5.1&quot;)
WebRequest.Open(&quot;GET&quot;, url)
WebRequest.Send()
SaveCookies(WebRequest, cookies)
RegExMatch(WebRequest.ResponseText,&quot;csrf_token&quot;&quot; value=&quot;&quot;(\w+)&quot;&quot; /&gt;&quot;, match)
token := match1
loginBody := &quot;form_sent=1&amp;redirect_url=http%3A%2F%2Fforum.script-coding.com%2Flogin.php&amp;csrf_token=&quot; token &quot;&amp;req_username=&quot; login &quot;&amp;req_password=&quot; password &quot;&amp;login=%D0%92%D0%BE%D0%B9%D1%82%D0%B8&quot;
WebRequest.Open(&quot;POST&quot;, url)
WebRequest.SetRequestHeader(&quot;Content-Type&quot;,&quot;application/x-www-form-urlencoded&quot;)
SetCookies(WebRequest, cookies)
WebRequest.Send(loginBody)
If Instr(WebRequest.ResponseText, &quot;Вы вошли как&quot;)
   msgbox All Ok!
Else
   msgbox Failed!
return

SaveCookies(ByRef WebRequest, ByRef cookies) {
    While (p := RegexMatch(WebRequest.GetAllResponseHeaders, &quot;U)(^|\R)Set-Cookie:\s(.+)=(.+);.+domain=(.+)(\R|;|$)&quot;, match, p?p+1:1))
        cookies[match4, match2] := match3
}
 
SetCookies(ByRef WebRequest, ByRef cookies) {
    url := WebRequest.Option(1) ;the url that we are going to send our request to
    If (p := InStr(url,&quot;://&quot;))
        url := SubStr(url, p+3)
    If (p := InStr(url,&quot;/&quot;))
        url := SubStr(url, 1, p-1)
    If (p := InStr(url,&quot;@&quot;))
        url := SubStr(url, p+1)
    If (p := InStr(url,&quot;:&quot;))
        url := SubStr(url, 1, p-1)
    StringSplit, a, url, .
    b := a0-1
    domain := a%b%
    ext := a%a0%
    url := &quot;.&quot; . domain . &quot;.&quot; . ext
 
    cookieString := &quot;&quot;
    For id, value in cookies[url]
        cookieString .= id . &quot;=&quot; . value . &quot;; &quot;
 
    If (cookieString) ;if there are any cookies
        WebRequest.SetRequestHeader(&quot;Cookie&quot;, cookieString)
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Fri, 31 Jul 2015 20:33:51 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=96161#p96161</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Чтение страницы браузера, поиск bb-code и его использование]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=96160#p96160</link>
			<description><![CDATA[<p>Дело в том, что при чтении страницы не используется браузер по умолчанию, что делает невозможным прочтение некоторых страниц сайта. А именно, личных сообщений. Как быть?</p>]]></description>
			<author><![CDATA[null@example.com (user)]]></author>
			<pubDate>Fri, 31 Jul 2015 20:13:45 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=96160#p96160</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Чтение страницы браузера, поиск bb-code и его использование]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=96158#p96158</link>
			<description><![CDATA[<div class="codebox"><pre><code>HTTP := ComObjCreate(&quot;WinHTTP.WinHTTPRequest.5.1&quot;)
HTTP.Open(&quot;GET&quot;, &quot;http://ya.ru&quot;)
HTTP.Send()
MsgBox, % HTTP.ResponseText</code></pre></div><p>Потом посчитать количество совпадений с помощью:<br /><a href="http://www.script-coding.com/AutoHotkey/RegExReplace.html">http://www.script-coding.com/AutoHotkey … place.html</a><br /></p><div class="quotebox"><blockquote><p>Также, необходимо чтобы скрипт каждые 30 секунд обновлял эту страницу в фоне, проверяя на наличие непрочитанных сообщений</p></blockquote></div><p>Это через SetTimer:<br /><a href="http://www.script-coding.com/AutoHotkey/SetTimer.html">http://www.script-coding.com/AutoHotkey/SetTimer.html</a><br />Уведомление в трее:<br /><a href="https://www.autohotkey.com/docs/commands/TrayTip.htm">https://www.autohotkey.com/docs/commands/TrayTip.htm</a><br />Отследить клик по нему можно так:<br /></p><div class="codebox"><pre><code>#Persistent
DetectHiddenWindows, On

~LButton::
MouseGetPos,,, ID,,2
WinGetClass, Class, ahk_id %ID%
IfNotEqual, Class, tooltips_class32, Return
WinGet, style, style, ahk_id %ID% 
If ! ( style &amp; 0x40 )
     Return
MsgBox, Tray Tip was Clicked
Return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Fri, 31 Jul 2015 16:53:23 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=96158#p96158</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Чтение страницы браузера, поиск bb-code и его использование]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=96155#p96155</link>
			<description><![CDATA[<p>Здравствуйте. Я у вас впервые и прошу помочь с моей нелегкой задачей.<br />Моя цель - создать скрипт, который, в свою очередь, сможет в фоне открывать некую страницу в интернете, искать элемент bb-code, а именно <strong>unread</strong>:<br /></p><div class="codebox"><pre><code>&lt;b class=&quot;unread&quot;&gt;Sample text.&lt;/b&gt;</code></pre></div><p>Затем считывать количество данных элементов на странице, а после выводить уведомление о количестве этих самых элементов. Да еще, чтобы при нажатии на уведомление открывалась эта самая страница в интернете в браузере по умолчанию.<br />Также, необходимо чтобы скрипт каждые 30 секунд обновлял эту страницу в фоне, проверяя на наличие непрочитанных сообщений. Если появляется непрочитанное сообщение, оно же содержит в себе элемент <strong>unread</strong>, то пользователь получает уведомление в трее о том, что <strong>Непрочитанных сообщений — 1</strong>.<br />Я не прошу полностью написать скрипт, а только помочь разобраться с чтением страницы и поиске элемента <strong>unread</strong>, а также его (их) конвертации в количественное значение.</p>]]></description>
			<author><![CDATA[null@example.com (user)]]></author>
			<pubDate>Fri, 31 Jul 2015 15:22:09 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=96155#p96155</guid>
		</item>
	</channel>
</rss>
