<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; JS: Скачивание файла с интернета]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=10933</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=10933&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «JS: Скачивание файла с интернета».]]></description>
		<lastBuildDate>Tue, 18 Sep 2018 15:50:01 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: JS: Скачивание файла с интернета]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=128760#p128760</link>
			<description><![CDATA[<p>Коллеги, так вроде давно уже решённые проблемы ?</p><p><strong>bitcoin</strong>, думаю Вам было бы проще использовать wsf файл (Windows Script File) и его тег <strong>resource</strong> для хранения тела файла.</p><div class="codebox"><pre><code>
// Константы для ADODB.Stream
var	adTypeBinary			= 1,
	adSaveCreateOverWrite	= 2;
// Содержимое файла в hex
var data = &#039;53616d706c652066696c6520776974682064617461&#039;;
// Создание объекта кодировщика / декодировщика
var encoder = (function(){
	var e = new ActiveXObject(&#039;MSXML2.DOMDocument.6.0&#039;).createElement(&quot;e&quot;);
	// Функция кодирования данных
	return {
		encode: function(data, dataType){
			e.dataType			= dataType;
			e.nodeTypedValue	= data;
			return e.text;
		},
		// Функция декодирования данных
		decode: function(data, dataType){
			e.dataType	= dataType;
			e.text		= data;
			return e.nodeTypedValue;
		}
	}
})();
// Декодирование данных (вторым параметром можно указать bin.hex - для данных в hex кодировке / bin.base64 - для данных в кодировке base64)
data = encoder.decode(data,&#039;bin.hex&#039;);
//Запись данных в файл
var stream = new ActiveXObject(&#039;ADODB.Stream&#039;);
// Режим записи двоичный
stream.Type = adTypeBinary;
stream.open();
stream.Write(data)
// Сохранение файла (второй параметр - adSaveCreateOverWrite разрешает перезапись поверх)
stream.SaveToFile(&#039;sample.txt&#039;, adSaveCreateOverWrite);
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Xameleon)]]></author>
			<pubDate>Tue, 18 Sep 2018 15:50:01 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=128760#p128760</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: Скачивание файла с интернета]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=128743#p128743</link>
			<description><![CDATA[<div class="quotebox"><cite>bitcoin пишет:</cite><blockquote><p>Выше этого (это просто тест) , идет код вида</p></blockquote></div><p>Вот так-то лучше.</p><p>Проблема не «лишь в записи файла». Проблема в том, что методу .Write() требуется аргумент типа ByteArray() — массив, каждый элемент которого является значением типа Byte: <a href="https://docs.microsoft.com/en-us/sql/ado/reference/ado-api/write-method?view=sql-server-2017">Write Method | Microsoft Docs</a>. А у Вас тип переменной str какой? Я вижу — string. Отсюда и ошибка, насколько я понимаю.</p><p>Как правильно создать и пользовать такой массив на JScript — не подскажу, не «мой» язык, ждите более опытных коллег.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Mon, 17 Sep 2018 08:41:42 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=128743#p128743</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: Скачивание файла с интернета]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=128742#p128742</link>
			<description><![CDATA[<p><strong>stealzy</strong>, я взял с этой темы часть кода под записи бинарного файла. Спросил тут, чтобы не создавать новых тем на 1 вопрос. Если так нельзя, то прошу прощения.</p>]]></description>
			<author><![CDATA[null@example.com (bitcoin)]]></author>
			<pubDate>Mon, 17 Sep 2018 08:31:10 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=128742#p128742</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: Скачивание файла с интернета]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=128739#p128739</link>
			<description><![CDATA[<p>Код записи в файл примерно такой, и он не работает. WriteText работает, но файл нечитаемый, добавляются какие-то непонятные символы.<br /></p><div class="codebox"><pre><code>var ado = new ActiveXObject(&quot;ADODB.Stream&quot;);
ado.mode = 3;
ado.type = 1;
//ado.Charset = &quot;windows-1251&quot;;
//ado.LineSeparator = 10;
ado.open();
//ado.WriteText(str);
ado.Write(str); //не идет сюда никакая переменная, пишет ошибку!
ado.SaveToFile(&quot;test.bin&quot;, 2);</code></pre></div><p>Выше этого (это просто тест) , идет код вида<br /></p><div class="codebox"><pre><code>var hex = &quot;тут_хекс_данные_файла, много текста&quot;,
    bytes = [],
    str;

for(var i=0; i&lt; hex.length-1; i+=2)
{
    bytes.push(parseInt(hex.substr(i, 2), 16));
}
str = String.fromCharCode.apply(String, bytes);</code></pre></div><p>Хранится в хекс формате, потому что бинарные не засунешь в скрипт. можно и base64, не суть. Проблема лишь в записи файла.</p><p>P.S. аверы = антивирусники, на которых выше жаловались.Тут дело совсем не в них, ибо файл не исполняемый.</p>]]></description>
			<author><![CDATA[null@example.com (bitcoin)]]></author>
			<pubDate>Mon, 17 Sep 2018 07:57:02 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=128739#p128739</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: Скачивание файла с интернета]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=128736#p128736</link>
			<description><![CDATA[<p><strong>bitcoin</strong>, покажите Ваш полный код.</p><p>P.S. Что такое «аверы»?</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Mon, 17 Sep 2018 02:55:48 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=128736#p128736</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: Скачивание файла с интернета]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=128734#p128734</link>
			<description><![CDATA[<p>А почему может не работать метод Write ? У меня на любые попытки (без антивирусов, интернетов и прочего) записать данные в файл, пишет ошибку. &quot;Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом.&quot; Конкретно на строку с методом Write <br /></p><div class="codebox"><pre><code>var ado = new ActiveXObject(&quot;ADODB.Stream&quot;);
ado.mode = 3;
ado.type = 1;
ado.open();
ado.Write(&quot;строка&quot;); //сюда подставлял и переменную со скрипта, результат один и тот же.
ado.SaveToFile(path2, 2);  </code></pre></div><p>Перепробовал какие есть сорцы из инета, везде эта ошибка записи. Повторюсь, дело не в аверах, т.к. я просто хочу записать бинарный файл (не ехе).</p>]]></description>
			<author><![CDATA[null@example.com (bitcoin)]]></author>
			<pubDate>Mon, 17 Sep 2018 00:47:23 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=128734#p128734</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: Скачивание файла с интернета]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=106546#p106546</link>
			<description><![CDATA[<p>Скачивали, скачиваем и будем скачивать, как и раньше. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (Flasher)]]></author>
			<pubDate>Wed, 03 Aug 2016 12:25:53 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=106546#p106546</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: Скачивание файла с интернета]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=106535#p106535</link>
			<description><![CDATA[<p>Кто-то еще скачивал в последнее время? Мне кажется, изза использования мной <a href="http://advanced.name/ru"><span style="color: black">прокси</span></a> доступ к сайту вообще как то не очень корректно осуществляется.</p>]]></description>
			<author><![CDATA[null@example.com (mixens)]]></author>
			<pubDate>Wed, 03 Aug 2016 10:49:35 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=106535#p106535</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: Скачивание файла с интернета]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=97529#p97529</link>
			<description><![CDATA[<p>А мне помог рецепт из <a href="http://stackoverflow.com/questions/4164400/windows-script-host-jscript-how-do-i-download-a-binary-file">http://stackoverflow.com/questions/4164 … inary-file</a>.<br />Пока проверял статус на 200 после выполнения send(), McAfee удалял скрипт как вирус. Но если повесить обработчик на onreadystatechange, то вполне прокатывало:<br /></p><div class="codebox"><pre><code>
function download(qurl, qfile)
{
    var r= 0, o= new ActiveXObject(&#039;MSXML2.XMLHTTP&#039;), ADO= {adTypeBinary: 1, adSaveCreateOverWrite: 2}

    o.onreadystatechange= function()
    {
        if (o.readyState !== 4) return; if ((r= o.Status) !== 200) return

        var a= new ActiveXObject(&#039;ADODB.Stream&#039;)

        a.Open()
        a.Type= ADO.adTypeBinary, a.Write(o.ResponseBody), a.Position= 0, a.SaveToFile(qfile, ADO.adSaveCreateOverWrite)
        a.Close()
    }
    o.open(&#039;GET&#039;, qurl, false)
    o.send()
    return r
}
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (sen52)]]></author>
			<pubDate>Thu, 17 Sep 2015 05:23:02 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=97529#p97529</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: Скачивание файла с интернета]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=97449#p97449</link>
			<description><![CDATA[<p><strong>adhocprog</strong>, в основном антивири проверяют скрипты на целиковую строчку <strong>progid</strong> &quot;опасных&quot; объектов. В частности <strong>ADODB.Stream</strong>. Поэтому иногда достаточно сделать нечто:<br /></p><div class="codebox"><pre><code>var ado = new ActiveXObject(&quot;ADODB.&quot; + &quot;Stream&quot;);</code></pre></div><p>и скрипт перестанет быть опасным.</p>]]></description>
			<author><![CDATA[null@example.com (Xameleon)]]></author>
			<pubDate>Tue, 15 Sep 2015 07:13:37 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=97449#p97449</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: Скачивание файла с интернета]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=97356#p97356</link>
			<description><![CDATA[<p>Спасибо! Попробую <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (adhocprog)]]></author>
			<pubDate>Fri, 11 Sep 2015 10:55:08 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=97356#p97356</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: Скачивание файла с интернета]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=97337#p97337</link>
			<description><![CDATA[<div class="quotebox"><cite>adhocprog пишет:</cite><blockquote><p>Настройки ему сделать никакие не удастся.</p></blockquote></div><p>Если так, то не лишним было бы рассматривать ситуации, когда скрипт вообще не удаётся запустить. И что тогда?<br /></p><div class="quotebox"><cite>adhocprog пишет:</cite><blockquote><p>Что такое &quot;нормальный&quot;?</p></blockquote></div><p>Нормальный - это дружащий с головой и компьютером.<br /></p><div class="quotebox"><cite>adhocprog пишет:</cite><blockquote><p>Спасибо, попробую.</p></blockquote></div><p>Если конкретно, то вот код сохранения на vbs:<br /></p><div class="codebox"><pre><code>URL = &quot;http://ib.8plus.ru/8a/sounds/monofrosch-mit-hall.wav&quot;
Dir = &quot;C:\NewFolder\NewFolder\NewFolder&quot;  &#039; каталог сохранения

Set HTTP = CreateObject(&quot;MSXML2.XMLHTTP.6.0&quot;)
HTTP.open &quot;GET&quot;, URL, False : HTTP.Send
If HTTP.Status &lt;&gt; 200 Then _
HTTP.Abort : MsgBox &quot;Файл не доступен!&quot;, 48 : WScript.Quit

Set FSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)
If Not FSO.FolderExists(Dir) Then _
   CreateObject(&quot;Shell.Application&quot;)._
   NameSpace(FSO.GetDriveName(Dir)).NewFolder(Mid(Dir, 4))

Path = FSO.BuildPath(Dir, FSO.GetFileName(URL))
With CreateObject(&quot;SAPI.SpFileStream&quot;)
  .Format.Type = 1 : .Open Path, 3, True
  .Write HTTP.ResponseBody : .Close
End With
CreateObject(&quot;WScript.Shell&quot;).Run &quot;explorer.exe /select,&quot; &amp; Path</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Flasher)]]></author>
			<pubDate>Thu, 10 Sep 2015 16:14:21 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=97337#p97337</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: Скачивание файла с интернета]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=97336#p97336</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Нигде не определены критерии рядового пользователя</p></blockquote></div><div class="quotebox"><blockquote><p>Я себя считаю вполне нормальным</p></blockquote></div><p>Предлагаю тогда начать с определений &quot;рядового&quot; и &quot;нормальный&quot; <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />В моем понимании &quot;рядовой&quot; - это случайный пользователь (в нашем случай Windows).<br />Настройки ему сделать никакие не удастся. Какие есть, такие есть. Белый спектр.<br />Что такое &quot;нормальный&quot;?</p><div class="quotebox"><blockquote><p>Допустим.</p></blockquote></div><p>Спасибо, попробую.</p>]]></description>
			<author><![CDATA[null@example.com (adhocprog)]]></author>
			<pubDate>Thu, 10 Sep 2015 16:06:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=97336#p97336</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: Скачивание файла с интернета]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=97306#p97306</link>
			<description><![CDATA[<div class="quotebox"><cite>adhocprog пишет:</cite><blockquote><p>Это значит, что я рядовой пользователь. У меня стоит типовой антивирус, установленный из коробки. Ничего специально не настраивал.</p></blockquote></div><p>Это говорит только о вашем выборе, больше ни о чём. Нигде не определены критерии рядового пользователя. <br /></p><div class="quotebox"><blockquote><p>Вообще антивирус не стоит?</p></blockquote></div><p>Нет, я берегу свои нервы и время.<br /></p><div class="quotebox"><cite>adhocprog пишет:</cite><blockquote><p>Если антивирус не стоит, то да <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p></blockquote></div><p>Ошибаетесь. Я себя считаю вполне нормальным.<br /></p><div class="quotebox"><cite>adhocprog пишет:</cite><blockquote><p>Я понял. Это вы про разработку для собственных нужд пишите, для своей инфраструктуры.</p></blockquote></div><p>Разработку? В чём же её суть? <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br /></p><div class="quotebox"><blockquote><p>Потому и вопрос возник, что же тогда использовать?</p></blockquote></div><p><a href="https://msdn.microsoft.com/en-us/library/ms721016(v=vs.85).aspx">Допустим</a>.</p>]]></description>
			<author><![CDATA[null@example.com (Flasher)]]></author>
			<pubDate>Thu, 10 Sep 2015 10:06:38 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=97306#p97306</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: Скачивание файла с интернета]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=97299#p97299</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Что значит &quot;даже у меня&quot;?</p></blockquote></div><p>Это значит, что я рядовой пользователь. У меня стоит типовой антивирус, установленный из коробки. Ничего специально не настраивал.<br /></p><div class="quotebox"><blockquote><p>А вот у меня не стоит.</p></blockquote></div><p>Вообще антивирус не стоит?<br /></p><div class="quotebox"><blockquote><p>И что, я ненормальный пользователь в итоге?</p></blockquote></div><p>Если антивирус не стоит, то да <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> Если стоит какой-то другой, то нет.<br /></p><div class="quotebox"><blockquote><p>Вопрос, как я уже подразумевал, решается на стороне антивируса/файрвола</p></blockquote></div><p>Я понял. Это вы про разработку для собственных нужд пишите, для своей инфраструктуры.<br />Мой скрипт будет работать у случайных клиентов, я им ничего настроить не смогу.<br /></p><div class="quotebox"><blockquote><p>дело тут не в написании скриптов, а в ложном срабатывании из-за кривых сигнатур</p></blockquote></div><p>Дело тут в том, что использование ADODB.Stream Касперский считает опасным:<br />http://forum.kaspersky.com/lofiversion/index.php/t5633.html<br />Потому и вопрос возник, что же тогда использовать?...</p>]]></description>
			<author><![CDATA[null@example.com (adhocprog)]]></author>
			<pubDate>Thu, 10 Sep 2015 06:38:14 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=97299#p97299</guid>
		</item>
	</channel>
</rss>
