<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; WSH (JS, VBS): URLDecode и передача ссылки в менеджер загрузки]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=9225</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=9225&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «WSH (JS, VBS): URLDecode и передача ссылки в менеджер загрузки».]]></description>
		<lastBuildDate>Thu, 06 Feb 2014 21:33:51 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: WSH (JS, VBS): URLDecode и передача ссылки в менеджер загрузки]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=79827#p79827</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Скрипт взят из online URLdecodera: http://meyerweb.com/eric/tools/dencoder/ и результат его работы нравиться Regety гораздо больше</p></blockquote></div><p>Это скрипт для веб-страницы, а не WSH<strong>.</strong><br /></p><div class="quotebox"><blockquote><p>Если убрать сам декодер, то ссылка из Opera точно передаётся в скрипт</p></blockquote></div><p>В скрипте нет обработки аргументов, там задан фиксированный URL.</p><p>Попробуй для начала так<br /></p><div class="codebox"><pre><code>var URL = WScript.Arguments.Item(0);
URL = encodeURI(URL);

var WshShell = new ActiveXObject(&quot;WScript.Shell&quot;);
WshShell.Run(&#039;&quot;C:\\Temp\\ReGet\\ReGet Deluxe 5.2.330 portable.exe&quot; -NoSplash &#039; + URL);</code></pre></div><p>Т.к. я не совсем понял, в каком направлении требуется преобразование, то может быть надо decodeURI вместо encodeURI.</p><p>Хотя на сайте Reget Deluxe сказано, что интеграцию с Opera можно задать в его настройках.</p>]]></description>
			<author><![CDATA[null@example.com (shiz)]]></author>
			<pubDate>Thu, 06 Feb 2014 21:33:51 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=79827#p79827</guid>
		</item>
		<item>
			<title><![CDATA[Re: WSH (JS, VBS): URLDecode и передача ссылки в менеджер загрузки]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=79825#p79825</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>какие ещё document, getElementById, value - это не HTML.<br />URL в коде и так не содержит кракозябр и иероглифов, зачем его ещё как-то декодировать?</p></blockquote></div><p>Скрипт взят из online URLdecodera с исходного кода html страницы: <a href="http://meyerweb.com/eric/tools/dencoder/">http://meyerweb.com/eric/tools/dencoder/</a> и результат его работы нравиться Regety гораздо больше:<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p>http://r4---sn-uxv-30oe.googlevideo.com/videoplayback?source=youtube&amp;mv=m&amp;sver=3&amp;expire=1391714655&amp;mt=1391688043&amp;itag=18&amp;id=40440785c85dc96d&amp;upn=SPUeeN1UxFw&amp;sparams=id,ip,ipbits,itag,ratebypass,source,upn,expire&amp;fexp=941262,901441,936910,936913&amp;ratebypass=yes&amp;ipbits=0&amp;key=yt5&amp;ip=78.63.218.138&amp;ms=au&amp;signature=4A809CF6A3764860596D90085A884617B31EFA1A.AF306D36B57A8260350F502F05D4C750FD14196C&amp;title=это прям по телеку утром показывали&quot;</p></div></div><p>Как я понимаю Reget Deluxe не переваривает кирилицу+написанную+через+плюс в ссылках и выдаёт иероглифы (из-за этого и замутил со скриптами), с латиницей справляется легко. Поиск во всех поисковиках на эту тему результатов не дал, хотя у меня это наблюдается на разных компах и с XP и W7. <br />Единственная запись 2003 года от 4get и его вариант декодера на ru-board:<br /></p><div class="quotebox"><blockquote><p>Url2 = Null <br /> for j=1 to Len(Url) <br />&nbsp; &nbsp;a = Mid(Url,j,1) <br />&nbsp; &nbsp;w = AscW(a) <br />&nbsp; &nbsp;&#039; urlencode hi-ASCII that was erroneously left in low-Unicode <br />&nbsp; &nbsp;if w&gt;127 and w&lt;256 then <br />&nbsp; &nbsp; &nbsp;Url2 = Url2 &amp; &quot;%&quot; &amp; hex(w) <br />&nbsp; &nbsp;&#039; uncomment two lines below to urlencode normal hi-ASCII/hi-Unicode characters <br />&nbsp; &nbsp;&#039;elseif Asc(a)&gt;127&nbsp; then <br />&nbsp; &nbsp;&#039;&nbsp; Url2 = Url2 &amp; &quot;%&quot; &amp; hex(Asc(a)) <br />&nbsp; &nbsp;else <br />&nbsp; &nbsp; &nbsp;Url2 = Url2 &amp; a <br />&nbsp; &nbsp;end if <br /> next</p></blockquote></div><p>В общем - явно в шапке скрипта чего-то не хватает!</p><div class="quotebox"><blockquote><p>А что, Run при запущенном приложении точно не работает?</p></blockquote></div><p>Эксперименты на разных других работающих кусках vbscriptov показали, что это так, и где-то в руководстве я встречал такое. Пробовал прикручивать AppActivate, но за неделю, что пытаю скрипт он так и не поддался. Я не программер - действую по аналогии и на базовом понимании уровня паскаль-бейсик.</p><div class="quotebox"><blockquote><p>это добавление собственного пункта в контекстное меню ссылок Opera?</p></blockquote></div><p> Да, добавляется строка в файл standard_menu.ini <a href="http://operafan.net/component/option,com_openwiki/Itemid,99/id,faq:downloaders/do,export_xhtml/">http://operafan.net/component/option,co … ort_xhtml/</a><br />Если убрать сам декодер, то ссылка из Opera точно передаётся в скрипт и затем через Run в менеджер загрузок.<br />Полный рабочий скрипт с декодером, который можно было-бы использовать из коробки я так нигде и ненашёл - есть только много вариаций на разных языках и разной степени непонятности.<br />Хотя задача всё-таки интересная и меня зацепила.</p>]]></description>
			<author><![CDATA[null@example.com (bordland)]]></author>
			<pubDate>Thu, 06 Feb 2014 19:52:52 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=79825#p79825</guid>
		</item>
		<item>
			<title><![CDATA[Re: WSH (JS, VBS): URLDecode и передача ссылки в менеджер загрузки]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=79824#p79824</link>
			<description><![CDATA[<p>Приведённый код - полная чушь, какие ещё document, getElementById, value - это не HTML.<br />URL в коде и так не содержит кракозябр и иероглифов, зачем его ещё как-то декодировать?<br /></p><div class="quotebox"><blockquote><p>Не врубаюсь как из декодера передать ссылку во внешнее приложение?!</p></blockquote></div><div class="codebox"><pre><code>        &lt;script language=&quot;JScript&quot;&gt;
        &lt;![CDATA[
...
        function decode(URL) {
            // если поверить формуле:
            return decodeURIComponent(URL.replace(/\+/g,  &quot; &quot;));
        }
...
        ]]&gt;
        &lt;/script&gt;
        
        &lt;script language=&quot;VBScript&quot;&gt;
        &lt;![CDATA[
       &#039; а может быть не decode(URL), а encode(URL):
        With WScript.CreateObject(&quot;WScript.Shell&quot;)
            .Run &quot;&quot;&quot;C:\Temp\ReGet\ReGet Deluxe 5.2.330 portable.exe&quot;&quot; -NoSplash&quot; &amp; decode(URL), 1, False
        
        End With

        WScript.Quit 0
        ]]&gt;
        &lt;/script&gt;
</code></pre></div><br /><br /><div class="quotebox"><blockquote><p>как добавлять ссылки на закачку при уже запущенном Regete? Как я понял - Run позволяет добавить Url на скачивание только при незапущенном приложении</p></blockquote></div><p>Не знаю, не пользуюсь менеджерами загрузок. А что, Run при запущенном приложении точно не работает?<br /></p><div class="quotebox"><blockquote><p>Из Opera передаю Url скрипту так:<br /></p><div class="codebox"><pre><code>Item, Скачать с помощью Reget Deluxe=Execute program, &quot;URLDecode.wsf&quot;, &quot;%l&quot;</code></pre></div></blockquote></div><p>Интересно, это добавление собственного пункта в контекстное меню ссылок Opera? Где про это можно почитать?<br />Но даже, если URL скрипту и передаётся, то сам скрипт его не принимает, т.е. в нём не хватает чего-то похожего на<br /></p><div class="codebox"><pre><code>URL = WScript.Arguments(0)</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (shiz)]]></author>
			<pubDate>Thu, 06 Feb 2014 18:07:31 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=79824#p79824</guid>
		</item>
		<item>
			<title><![CDATA[WSH (JS, VBS): URLDecode и передача ссылки в менеджер загрузки]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=79821#p79821</link>
			<description><![CDATA[<p>Пересмотрел множество онлайн скриптов URLdecode на Javascript и VBS, выбрал тот, который выдаёт нужную ссылку, без крякозябр и иероглифов во внешний менеджер загрузки (Reget Deluxe), но не хватает знаний заставить скрипт работать локально:</p><div class="codebox"><pre><code>&lt;?xml version=&quot;1.0&quot; ?&gt;

&lt;package&gt;
    &lt;job&gt;   
        &lt;script type=&quot;text/javascript&quot; script language=&quot;JavaScript&quot;&gt;
        &lt;![CDATA[
        URL=&quot;http://r4---sn-uxv-30oe.googlevideo.com/videoplayback?source=youtube&amp;mv=m&amp;sver=3&amp;expire=1391714655&amp;mt=1391688043&amp;itag=18&amp;id=40440785c85dc96d&amp;upn=SPUeeN1UxFw&amp;sparams=id%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&amp;fexp=941262%2C901441%2C936910%2C936913&amp;ratebypass=yes&amp;ipbits=0&amp;key=yt5&amp;ip=78.63.218.138&amp;ms=au&amp;signature=4A809CF6A3764860596D90085A884617B31EFA1A.AF306D36B57A8260350F502F05D4C750FD14196C&amp;title=%D1%8D%D1%82%D0%BE+%D0%BF%D1%80%D1%8F%D0%BC+%D0%BF%D0%BE+%D1%82%D0%B5%D0%BB%D0%B5%D0%BA%D1%83+%D1%83%D1%82%D1%80%D0%BE%D0%BC+%D0%BF%D0%BE%D0%BA%D0%B0%D0%B7%D1%8B%D0%B2%D0%B0%D0%BB%D0%B8&quot;
        function encode() { 
            var obj = document.getElementById(&#039;dencoder&#039;); 
            var unencoded = obj.value; 
            obj.value = encodeURIComponent(unencoded).replace(/&#039;/g,&quot;%27&quot;).replace(/&quot;/g,&quot;%22&quot;);  
        }
        function decode(URL) {
            var obj = document.getElementById(&#039;dencoder&#039;);
            var encoded = obj.value;
            obj.value = decodeURIComponent(encoded.replace(/\+/g,  &quot; &quot;));
        }
        ]]&gt;
        &lt;/script&gt;
        
        &lt;script language=&quot;VBScript&quot;&gt;
        &lt;![CDATA[
       
        With WScript.CreateObject(&quot;WScript.Shell&quot;)
            .Run &quot;&quot;&quot;C:\Temp\ReGet\ReGet Deluxe 5.2.330 portable.exe&quot;&quot; -NoSplash&quot; &amp; URL, 1, False
        
        End With

        WScript.Quit 0
        ]]&gt;
        &lt;/script&gt;
    &lt;/job&gt;
&lt;/package&gt;</code></pre></div><p>Не врубаюсь как из декодера передать ссылку во внешнее приложение?!<br />т.к. сейчас Reget ловит исходную недекодированную ссылку.</p><p>Ещё вопрос - как добавлять ссылки на закачку при уже запущенном Regete? Как я понял - Run позволяет добавить Url на скачивание только при незапущенном приложении и для добавления нужно использовать AppActivate, но он не даёт запускать внешнее приложение с дополнительными параметрами?!...</p><p>И вдогонку - как правильно принять скриптом ссылку из браузера? <br />Вроде нужно добавить в начало Url = document.location.ref, но реально действующего варианта пока не нашёл. <br />Из Opera передаю Url скрипту так:<br /></p><div class="codebox"><pre><code>Item, Скачать с помощью Reget Deluxe=Execute program, &quot;URLDecode.wsf&quot;, &quot;%l&quot;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (bordland)]]></author>
			<pubDate>Thu, 06 Feb 2014 16:22:19 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=79821#p79821</guid>
		</item>
	</channel>
</rss>
