<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; JavaScript: как получить по javascript-ссылке адрес для загрузки файла]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=7127</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7127&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «JavaScript: как получить по javascript-ссылке адрес для загрузки файла».]]></description>
		<lastBuildDate>Tue, 20 Jan 2015 08:07:48 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: JavaScript: как получить по javascript-ссылке адрес для загрузки файла]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=90785#p90785</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Как это относится к теме?</p></blockquote></div><p><span style="color: Green">Это был <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" /> спам.</span></p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Tue, 20 Jan 2015 08:07:48 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=90785#p90785</guid>
		</item>
		<item>
			<title><![CDATA[Re: JavaScript: как получить по javascript-ссылке адрес для загрузки файла]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=90748#p90748</link>
			<description><![CDATA[<p>Как это относится к теме?</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Mon, 19 Jan 2015 17:55:20 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=90748#p90748</guid>
		</item>
		<item>
			<title><![CDATA[Re: JavaScript: как получить по javascript-ссылке адрес для загрузки файла]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=64637#p64637</link>
			<description><![CDATA[<p>Ничего не понял. А можно по подробнее</p>]]></description>
			<author><![CDATA[null@example.com (delfinseoo)]]></author>
			<pubDate>Sun, 07 Oct 2012 15:39:27 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=64637#p64637</guid>
		</item>
		<item>
			<title><![CDATA[Re: JavaScript: как получить по javascript-ссылке адрес для загрузки файла]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59950#p59950</link>
			<description><![CDATA[<p>Хм. Товарищи. А ведь результат вдохновляет... Это я только что Экселем сделал запрос и получил нужную инфу с веб-страницы.<br />То бишь, код работоспособен. Теперь думаю вообще отказаться от участия АНК в этой авантюре...<br />Собственно, почему я начинал использовать его - там удобная команда: URLDownloadToFile - строчка кода и ты скачал нужный файл.<br />Вопрос знатокам - в какую сторону здесь удобнее копать, чтобы обеспечить загрузку файла с сайта? Теми же средствами VBА? Какой объект для этого нужно присобачить в код?</p>]]></description>
			<author><![CDATA[null@example.com (pant-79)]]></author>
			<pubDate>Thu, 03 May 2012 11:58:30 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59950#p59950</guid>
		</item>
		<item>
			<title><![CDATA[Re: JavaScript: как получить по javascript-ссылке адрес для загрузки файла]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59926#p59926</link>
			<description><![CDATA[<p><strong>wisgest</strong><br />Хмм... Тем хуже. Для меня это очередное &quot;фи&quot; в адрес редмондских волшебников. Реализовали букет несовместимых кривых диалектов одного языка. </p><p>Может быть существует аналог? Хотя в VBA работает механизм объявлений вида ИмяОбъекта_ИмяМетода. Может быть это прокатит.</p>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Wed, 02 May 2012 16:13:08 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59926#p59926</guid>
		</item>
		<item>
			<title><![CDATA[Re: JavaScript: как получить по javascript-ссылке адрес для загрузки файла]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59925#p59925</link>
			<description><![CDATA[<p><strong>Rumata</strong>, в <span class="bbu">VBA</span> нет <em>GetRef()</em>.</p>]]></description>
			<author><![CDATA[null@example.com (wisgest)]]></author>
			<pubDate>Wed, 02 May 2012 16:00:10 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59925#p59925</guid>
		</item>
		<item>
			<title><![CDATA[Re: JavaScript: как получить по javascript-ссылке адрес для загрузки файла]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59923#p59923</link>
			<description><![CDATA[<div class="quotebox"><cite>pant-79 пишет:</cite><blockquote><p>сразу валидацию не проходит</p></blockquote></div><p>Не пройдет. Надо примерно так:</p><div class="codebox"><pre><code>Function xmlhttp_onreadystatechange()
...
End Function
xmlhttp.onreadystatechange = GetRef(&quot;xmlhttp_onreadystatechange&quot;)</code></pre></div><p>Имя функции по-видимому может быть любым, но с целью исключения путаницы лучше &quot;обозвать&quot; также так и имя обработчика. В данном случае, при использовании <strong>синхронных обработчиков</strong>, можно обойтись без этой функции, в целом же надо использовать именно такую методику - описание и назначение обработчика. </p><p>Вот еще один пример в помощь:<br /></p><div class="codebox"><pre><code>
Dim url : url = &quot;http://zakupki.gov.ru/pgz/documentdownload?documentId=62795440&quot;

Dim xmlhttp : Set xmlhttp = CreateObject(&quot;Microsoft.XMLHTTP&quot;)
xmlhttp.open &quot;GET&quot;, url, False
xmlhttp.send

If xmlhttp.status &lt;&gt; 200 Then
	WScript.Echo xmlhttp.status, xmlhttp.statusText
	WScript.Quit
End If

Dim headers : headers = xmlhttp.getAllResponseHeaders()
WScript.Echo headers</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Wed, 02 May 2012 15:02:08 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59923#p59923</guid>
		</item>
		<item>
			<title><![CDATA[Re: JavaScript: как получить по javascript-ссылке адрес для загрузки файла]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59918#p59918</link>
			<description><![CDATA[<p>Получилось. Сам по себе этот код выполняется успешно.<br />Пытаюсь переделать этот код под VBA, чтобы посредством EXCEL все это делалось.<br />Начал переделывать код, и что-то застрял<br />Код<br /></p><div class="codebox"><pre><code>Dim URL
Dim xmlhttp
Dim Status
  Set URL = &quot;http://zakupki.gov.ru/pgz/documentdownload?documentId=62795440&quot;
  Set xmlhttp = CreateObject(&quot;Microsoft.XMLHTTP&quot;)</code></pre></div><p>у меня еще получился, а вот дальше...<br />Если это возможно, то как правильно переделать функцию xmlhttp.onreadystatechange под VBA?<br />у меня строка <br /></p><div class="codebox"><pre><code>  xmlhttp.onreadystatechange = function()</code></pre></div><p>сразу валидацию не проходит...</p>]]></description>
			<author><![CDATA[null@example.com (pant-79)]]></author>
			<pubDate>Wed, 02 May 2012 13:00:18 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59918#p59918</guid>
		</item>
		<item>
			<title><![CDATA[Re: JavaScript: как получить по javascript-ссылке адрес для загрузки файла]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59807#p59807</link>
			<description><![CDATA[<div class="quotebox"><cite>Rumata пишет:</cite><blockquote><p>Я же уже сказал: <br /></p><div class="quotebox"><cite>Rumata пишет:</cite><blockquote><p>Я поправил код в сообщении выше</p></blockquote></div><p>Исправляйте, проверяйте.</p></blockquote></div><p>Ой, извините, то ли я этот комментарий просто проглядел, то ли это глюк сайта...</p>]]></description>
			<author><![CDATA[null@example.com (pant-79)]]></author>
			<pubDate>Sat, 28 Apr 2012 14:53:10 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59807#p59807</guid>
		</item>
		<item>
			<title><![CDATA[Re: JavaScript: как получить по javascript-ссылке адрес для загрузки файла]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59805#p59805</link>
			<description><![CDATA[<p>Я же уже сказал: <br /></p><div class="quotebox"><cite>Rumata пишет:</cite><blockquote><p>Я поправил код в сообщении выше</p></blockquote></div><p>Исправляйте, проверяйте. </p><div class="quotebox"><cite>pant-79 пишет:</cite><blockquote><p>Даже запихивал в АНК</p></blockquote></div><p>Наверно, не буду больше помогать Вам. AHK-то тут при чем?</p>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Sat, 28 Apr 2012 09:13:12 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59805#p59805</guid>
		</item>
		<item>
			<title><![CDATA[Re: JavaScript: как получить по javascript-ссылке адрес для загрузки файла]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59802#p59802</link>
			<description><![CDATA[<p>Вообще никаким боком не пашет. Запускал по всякому. Ничего не выводит в принципе.<br />Ни командной строкой, ни в переменных ничего не выводит.<br />Даже запихивал в АНК:<br /></p><div class="codebox"><pre><code>#NoEnv
#SingleInstance,off
#Include %A_ScriptDir%\ws4ahk.ahk
SetWorkingDir %A_ScriptDir%  
   WS_Initialize()
Variables =
 (
var url = &#039;http://zakupki.gov.ru/pgz/documentdownload?documentId=62795440&#039;;
var xmlhttp = new ActiveXObject(&#039;Microsoft.XMLHTTP&#039;);
xmlhttp.onreadystatechange = function()
{
    // ждем завершения выполнения запроса
    if ( xmlhttp.readyState != 4 ) {
        return;
    }
 
    // посмотрим статус ответа сервера
    WScript.Echo(xmlhttp.status, xmlhttp.statusText);
 var Status = xmlhttp.status
var Text = xmlhttp.statusText
    // посмотрим заголовки ответа сервера
    var headers = xmlhttp.getAllResponseHeaders();
    WScript.Echo(headers);
};
 
// создать запрос к серверу
xmlhttp.open(&#039;GET&#039;, url);
 
// послать запрос на сервер
// будет вызвана созданная нами функция
xmlhttp.send();
)
  WS_Exec(Variables)
WS_Eval(Status, &quot;Status&quot;)
WS_Eval(Text, &quot;Text&quot;)
WS_Eval(headers, &quot;headers&quot;)
MsgBox &quot;%Status%&quot;`n&quot;%Text%&quot;`n&quot;%headers%&quot;
ExitApp</code></pre></div><p>Выводит пустые значения....</p>]]></description>
			<author><![CDATA[null@example.com (pant-79)]]></author>
			<pubDate>Sat, 28 Apr 2012 05:51:34 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59802#p59802</guid>
		</item>
		<item>
			<title><![CDATA[Re: JavaScript: как получить по javascript-ссылке адрес для загрузки файла]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59759#p59759</link>
			<description><![CDATA[<p>Я поправил код в сообщении выше. Проверьте. </p><div class="codebox"><pre><code>xmlhttp.open(&#039;GET&#039;, url, false);</code></pre></div><p>Я забыл указать явно false, что значит <strong>не использовать асинхронные запросы</strong>; они выполняются &quot;параллельно&quot; работе основной программы. Так как после отправки запроса программа завершается, то и обработчик (функция onreadystatechange) не успевает выполниться и программа ничего не выводит. Такая ситуация была у Вас. И это правильно. </p><p>Другая ситуация была у меня. Перед тем как опубликовать тот пример, я уже выполнил запрос к заданному ресурсу, а данные скорее всего &quot;закешировались&quot; (возможно на прокси, возможно на моей машине). Всегда требуется время, пока запрос завершится. Так как данные в моем случае берутся из локального кеша, а не с удаленного сервера, то обработчик успевал выполниться, а программа - вывести результат. </p><p>И вот тут возникает неочевидная проблема - получить актуальную информацию именно с сервера, а не из кеша. Для этого необходимо отправлять специальные заголовки.</p>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Thu, 26 Apr 2012 17:28:15 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59759#p59759</guid>
		</item>
		<item>
			<title><![CDATA[Re: JavaScript: как получить по javascript-ссылке адрес для загрузки файла]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59755#p59755</link>
			<description><![CDATA[<p><strong>pant-79</strong><br />запускайте в командной строке</p><div class="codebox"><pre><code>cscript script.js</code></pre></div><p>Должно вывести<br /></p><div class="quotebox"><blockquote><p>200 OK<br />Раздел 5 Технич задание.doc<br />55296</p></blockquote></div><p>Специально проверил</p><div class="codebox"><pre><code>wscript script.js</code></pre></div><p>так тоже работает</p>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Thu, 26 Apr 2012 14:03:00 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59755#p59755</guid>
		</item>
		<item>
			<title><![CDATA[Re: JavaScript: как получить по javascript-ссылке адрес для загрузки файла]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59754#p59754</link>
			<description><![CDATA[<p>Кстати, что-то у меня не пашет... насколько я правильно понимаю, код<br /></p><div class="codebox"><pre><code>WScript.Echo(xmlhttp.status, xmlhttp.statusText)</code></pre></div><p>и<br /></p><div class="codebox"><pre><code>WScript.Echo(headers)</code></pre></div><p>должен мне выдать msgbox&#039;ы с инфой, полученной при запросе. <br />Но у меня скрипт пролетает &quot;вхолостую&quot;. Может, я что-то не то делаю... я банально сохранил этот код в файл request.js, а потом запустил его.<br />Привычка у меня такая после АНК и VBS. Может быть, вредная....</p>]]></description>
			<author><![CDATA[null@example.com (pant-79)]]></author>
			<pubDate>Thu, 26 Apr 2012 13:47:31 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59754#p59754</guid>
		</item>
		<item>
			<title><![CDATA[Re: JavaScript: как получить по javascript-ссылке адрес для загрузки файла]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59753#p59753</link>
			<description><![CDATA[<p>Чего уж сразу лентяй? Я просто javascript знаю только теоретически.<br />Вот без этих объяснений в комментариях вообще бы мало что понял.<br />В свое время чтобы освоить VBS самостоятельно на уровне не совсем последнего ламера мне понадобился месяц, пару тысяч строк кода и пяток тредов на этом форуме. Сейчас ситуация изменилась. На практическое освоение javascript вообще очень мало времени...</p>]]></description>
			<author><![CDATA[null@example.com (pant-79)]]></author>
			<pubDate>Thu, 26 Apr 2012 13:33:56 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59753#p59753</guid>
		</item>
	</channel>
</rss>
