Чтение открытие файла по сети

Работа с файлами и базами данных
Аватара пользователя
Aleksey Feoktistov

Activity Gold Silver Black
leader
leader
Сообщения: 898
Зарегистрирован: 20 янв 2009, 00:15
Награды: 6
Версия LabVIEW: 2015
Откуда: Tyumen
Поблагодарили: 2 раза
Контактная информация:

Чтение открытие файла по сети

Сообщение Aleksey Feoktistov »

Добрый день!
файл на ходится по адресу https:\192.168.0.1\FileBrowser\Download?Path=\DataLogs\DataLog.csv
и нужно его прочитать через LabVIEW.
Какая функция позволяет открыть файл расположенный в сети?
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Чтение открытие файла по сети

Сообщение dadreamer »

Data Communication -> Protocols -> HTTP Client -> GET.vi
В конце URL надо добавить [text]
Аватара пользователя
Aleksey Feoktistov

Activity Gold Silver Black
leader
leader
Сообщения: 898
Зарегистрирован: 20 янв 2009, 00:15
Награды: 6
Версия LabVIEW: 2015
Откуда: Tyumen
Поблагодарили: 2 раза
Контактная информация:

Re: Чтение открытие файла по сети

Сообщение Aleksey Feoktistov »

Соединение устанавливается. ошибок нет.
логин и пароль не требуется (я его убрал)
А как сам файл открыть или прочитать?
Безымянный.png
Безымянный.png (7.83 КБ) 12978 просмотров
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Чтение открытие файла по сети

Сообщение IvanLis »

Aleksey Feoktistov писал(а):Соединение устанавливается. ошибок нет.
Алексей, посмотрите в теме: http://www.labviewportal.org/viewtopic.php?t=6431
Там при работе клиента, скачивается файл с сервера данных.
Аватара пользователя
Aleksey Feoktistov

Activity Gold Silver Black
leader
leader
Сообщения: 898
Зарегистрирован: 20 янв 2009, 00:15
Награды: 6
Версия LabVIEW: 2015
Откуда: Tyumen
Поблагодарили: 2 раза
Контактная информация:

Re: Чтение открытие файла по сети

Сообщение Aleksey Feoktistov »

Иван, я так понимаю, в примере работа идет по протоколу TCP?
Безымянный.png
Какой subVI отвечает за чтение файла?
Вложения
Безымянный.png
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Чтение открытие файла по сети

Сообщение IvanLis »

Aleksey Feoktistov писал(а):Иван, я так понимаю, в примере работа идет по протоколу TCP?
Какой subVI отвечает за чтение файла?
HTTP относится к семейству TCP/IP, это надстройка над ним.

Содержимое файла по идее должно быть в HTTP Response SubVI, которую Вы показали на скрине, в текстовом виде.
А вот что делать потом с этим содержимым, решать Вам.
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Чтение открытие файла по сети

Сообщение dadreamer »

Aleksey Feoktistov писал(а):Соединение устанавливается. ошибок нет.
логин и пароль не требуется (я его убрал)
А как сам файл открыть или прочитать?
Вложение Безымянный.png больше недоступно
По-моему, здесь всё просто. Параметр body - это файл в бинарном представлении.
Вложения
2016-01-17_15-22-44.jpg
2016-01-17_15-23-22.jpg
Get_File_By_Url.vi
lv2011
(10.52 КБ) 203 скачивания
Аватара пользователя
Aleksey Feoktistov

Activity Gold Silver Black
leader
leader
Сообщения: 898
Зарегистрирован: 20 янв 2009, 00:15
Награды: 6
Версия LabVIEW: 2015
Откуда: Tyumen
Поблагодарили: 2 раза
Контактная информация:

Re: Чтение открытие файла по сети

Сообщение Aleksey Feoktistov »

Похоже проблема в том, что я не правильно указываю путь (до сих пор не нашел правильную ссылку)
Безымянный.png
файл весит 2 Мб и приходит в body намного меньше
Если указываю ссылку http:\192.168.0.2\FileBrowser\Download?Path=\DataLogs\DataLog.csv
то вообще ничего не приходит и headers =

Код: Выделить всё

HTTP/1.1 302 Object Moved
Content-Type:text/html
Content-Length:0
Location: http://192.168.0.2/Portal/Portal.mwsl?PriNav=FileBrowser&Path=/
Date: Thu Feb 16 22:52:17 2012
В общем, буду разбираться
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Чтение открытие файла по сети

Сообщение Blackman »

Справка для DataSocket функций

To read a text file from an FTP site using DataSocket functions, add [text] to the end of the URL.
To read a text file via the http protocol using DataSocket functions, add [text] to the end of the URL.
Аватара пользователя
Aleksey Feoktistov

Activity Gold Silver Black
leader
leader
Сообщения: 898
Зарегистрирован: 20 янв 2009, 00:15
Награды: 6
Версия LabVIEW: 2015
Откуда: Tyumen
Поблагодарили: 2 раза
Контактная информация:

Re: Чтение открытие файла по сети

Сообщение Aleksey Feoktistov »

загрузил на контроллер картинку в формате *.png и попытался считать её
ситуация та же.
http://192.168.0.2/FileBrowser/Download ... s/cRIO.png

Код: Выделить всё

HTTP/1.1 302 Object Moved
Content-Type:text/html
Content-Length:0
Location: http://192.168.0.2/Portal/Portal.mwsl?PriNav=FileBrowser&Path=/
Date: Sun Jan 17 12:43:10 2016
попробовал такой запрос

Код: Выделить всё

http://192.168.0.2/FileBrowser/Download?Path=/DataLogs/DataLog.csv[text]
тоже не работает
Аватара пользователя
Aleksey Feoktistov

Activity Gold Silver Black
leader
leader
Сообщения: 898
Зарегистрирован: 20 янв 2009, 00:15
Награды: 6
Версия LabVIEW: 2015
Откуда: Tyumen
Поблагодарили: 2 раза
Контактная информация:

Re: Чтение открытие файла по сети

Сообщение Aleksey Feoktistov »

При попытке открыть файл по прямой ссылке через браузер

Код: Выделить всё

http://192.168.0.2/FileBrowser/Download?Path=/DataLogs/DataLog.csv 
выходит сообщение
File operation not permitted - no referrer
Операция с файлом не разрешена - нет реферера

т.е. проблема во внутренней безопасности контролера
осталось придумать как его обмануть
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Чтение открытие файла по сети

Сообщение dadreamer »

То есть, в браузере обращение по адресу https://192.168.0.1/FileBrowser/Downloa ... ataLog.csv выдаёт файл, а в :labview: нет? Обратите внимание на слэши, в url слэш должен быть везде / (после http(s) два слэша), а в локальных путях - \. Если так, то нужно посмотреть, куда происходит редирект. Проще всего проверить сниффером: Fiddler или Charles. Настройте сниффер, потом откройте в браузере указанный url и смотрите цепь запросов. Ну, и хэдеры тоже полезно глянуть.

upd:
Aleksey Feoktistov писал(а):При попытке открыть файл по прямой ссылке через браузер

Код: Выделить всё

http://192.168.0.2/FileBrowser/Download?Path=/DataLogs/DataLog.csv
выходит сообщение
File operation not permitted - no referrer
А откуда вы взяли этот url? И как и где он работает?
Аватара пользователя
Aleksey Feoktistov

Activity Gold Silver Black
leader
leader
Сообщения: 898
Зарегистрирован: 20 янв 2009, 00:15
Награды: 6
Версия LabVIEW: 2015
Откуда: Tyumen
Поблагодарили: 2 раза
Контактная информация:

Re: Чтение открытие файла по сети

Сообщение Aleksey Feoktistov »

Правильная ссылка вот

Код: Выделить всё

http://192.168.0.2/FileBrowser/Download?Path=/DataLogs/DataLog.csv
При копировании этой ссылки и вставке её в браузере выходит сообщение
File operation not permitted - no referrer
Операция с файлом не разрешена - нет реферера

т.е. в веб странице есть какая-то защита, которая запрещает обращаться к файлам по прямым ссылкам.
ближайшая прямая ссылка

Код: Выделить всё

http://192.168.0.2/FileBrowser/Download?Path=/
затем, нужно с этой страницы перейти сначала на

Код: Выделить всё

http://192.168.0.2/FileBrowser/Download?Path=/DataLogs/
а затем, можно будет нажать на кнопку и перейти по ссылке

Код: Выделить всё

http://192.168.0.2/FileBrowser/Download?Path=/DataLogs/DataLog.csv
ссылка на конечный файл запрограммирована так

Код: Выделить всё

</td></tr><tr><td class="fileBrowserDir">&nbsp;</td><td class='fileBrowserName'><span class='hiddenOnSmall'><a href="/FileBrowser/Download?Path=/DataLogs/DataLog.csv">DataLog.csv</a></span><span class='hiddenOnLarge'><a href="/FileBrowser/Download?Path=/DataLogs/DataLog.csv">DataLog.csv</a></span></td><td class="contentTableField fileSize">1920033</td><td class="contentTableField fbChanged"><span class="systemTime"><span class="fbTime">01:12:20 pm&nbsp;<br class="hiddenOnLarge">&nbsp;1/17/2016</span></span><span class="localTime" style="display: none;"><span class="fbTime">02:12:20 pm&nbsp;<br class="hiddenOnLarge">&nbsp;1/17/2016</span></span></td><td class="contentTableField deleteItem"><form method="GET" action="/FileBrowser/DeleteFile" onsubmit="return Delete('file')"><input type="hidden" name="Path" value="/DataLogs/DataLog.csv" /><input id="img_trash_3" src="../Images/Trash.gif" title="Delete" class="imageButton2" alt="Delete" type="image" ></form></td><td class="contentTableField"><form id='renameForm_3' class='renameForm' action='/FileBrowser/Rename' method='POST'>
Вложения
Безымянный.png
Аватара пользователя
Aleksey Feoktistov

Activity Gold Silver Black
leader
leader
Сообщения: 898
Зарегистрирован: 20 янв 2009, 00:15
Награды: 6
Версия LabVIEW: 2015
Откуда: Tyumen
Поблагодарили: 2 раза
Контактная информация:

Re: Чтение открытие файла по сети

Сообщение Aleksey Feoktistov »

теперь надо разобраться как можно реализовать это
https://ru.wikipedia.org/wiki/HTTP_referer
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Чтение открытие файла по сети

Сообщение dadreamer »

Aleksey Feoktistov писал(а):Правильная ссылка вот

Код: Выделить всё

http://192.168.0.2/FileBrowser/Download?Path=/DataLogs/DataLog.csv
При копировании этой ссылки и вставке её в браузере выходит сообщение
File operation not permitted - no referrer
Операция с файлом не разрешена - нет реферера
Ну, значит, сервер должен установить cookies, чтобы можно было дальше работать. А может не хватает каких-то хэдеров. Обычно сервер сам прописывает cookies, нужно лишь переходить по ссылкам через GET/POST запросы. Посмотрите, какие cookies создаются при переходе по трём указанным ссылкам. Только сперва вычистите старые, чтоб не мешались. В :labview: попробуйте воспроизвести последовательность перехода: сперва зайдите на один url, потом на второй и т.д. Это должно прописать cookies. Полезно перед этим у себя прописать дефолтные заголовки. Пример можно глянуть тут: http://www.labviewportal.org/viewtopic. ... 162#p65162
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Сохранение данных»