Имя: Пароль:
1C
1С v8
Как загрузить файлик с ресурса guvm.mvd.ru
,
0 SurFace
 
04.08.16
18:19
Коллеги, прошу помощи. Где накосячил?

    ИмяСервера              = "guvm.mvd.ru";
    Порт                  = Неопределено;
    ИмяПользователя      = Неопределено;
    ПарольПользователя      = Неопределено;
    Прокси                  = Неопределено;
    Таймаут              = Неопределено;
    ЗащищенноеСоединение = Неопределено;
    ПутьДляСохранения     = "C:\Users\Admin\AppData\Local\Temp\tempPassport\list_of_expired_passports.csv.bz2";
    
    Попытка
        Соединение = Новый HTTPСоединение(ИмяСервера, Порт, ИмяПользователя, ПарольПользователя, Прокси, Таймаут, ЗащищенноеСоединение);
        
        HTTPЗапрос = Новый HTTPЗапрос("upload/expired-passports/list_of_expired_passports.csv.bz2");
        Соединение.Получить(HTTPЗапрос, ПутьДляСохранения)
    Исключение
        ИнформацияОбОшибке = ИнформацияОбОшибке();
    КонецПопытки;

Ошибки нет, но и файлик не скачивается. Содержимое файла:
<html>
<head><title>302 Found</title></head>
<body bgcolor="white">
<center><h1>302 Found</h1></center>
<hr><center>nginx</center>
</body>
</html>

Адрес для скачивания: http://guvm.mvd.ru/upload/expired-passports/list_of_expired_passports.csv.bz2
1 SurFace
 
04.08.16
18:20
Вернее нужный файл не скачивается, а создается файл с содержимым выше.
2 Mauser
 
04.08.16
18:20
RTFM про переход по редиректам
3 SurFace
 
04.08.16
18:20
(2), что что?
4 Mauser
 
04.08.16
18:24
Fielding, et al.            Standards Track                    [Page 62]

RFC 2616                        HTTP/1.1                       June 1999

(3) 10.3.3 302 Found

   The requested resource resides temporarily under a different URI.
   Since the redirection might be altered on occasion, the client SHOULD
   continue to use the Request-URI for future requests.  This response
   is only cacheable if indicated by a Cache-Control or Expires header
   field.

   The temporary URI SHOULD be given by the Location field in the
   response. Unless the request method was HEAD, the entity of the
   response SHOULD contain a short hypertext note with a hyperlink to
   the new URI(s).

   If the 302 status code is received in response to a request other
   than GET or HEAD, the user agent MUST NOT automatically redirect the
   request unless it can be confirmed by the user, since this might
   change the conditions under which the request was issued.

      Note: RFC 1945 and RFC 2068 specify that the client is not allowed
      to change the method on the redirected request.  However, most
      existing user agent implementations treat 302 as if it were a 303
      response, performing a GET on the Location field-value regardless
      of the original request method. The status codes 303 and 307 have
      been added for servers that wish to make unambiguously clear which
      kind of reaction is expected of the client.
5 SurFace
 
04.08.16
18:35
так...
6 SurFace
 
04.08.16
18:35
а как найти файлик?
7 Mauser
 
04.08.16
18:36
(6) Какой файлик?
8 Mauser
 
04.08.16
18:40
Все что тебе нужно, написано во втором абзаце
9 Йохохо
 
04.08.16
19:00
там в Location приходит httpS://guvm.mvd.ru/upload/expired-passports/list_of_expired_passports.csv.bz2 , переделайте мб сразу на защищенное
10 Йохохо
 
04.08.16
19:08
вероятно надо HTTPОтвет = Соединение.Получить(HTTPЗапрос, ПутьДляСохранения) и смотреть
11 mehfk
 
04.08.16
20:31
12 SurFace
 
05.08.16
12:58
Так. Все правильно - переадресация идет на адрес:

https://guvm.mvd.ru/upload/expired-passports/list_of_expired_passports.csv.bz2
по 443 порту видимо

Но файлик так и не грузится.
13 Йохохо
 
05.08.16
13:00
14 SurFace
 
05.08.16
13:05
(13) линукс?
15 SurFace
 
05.08.16
13:05
а средствами кода 1с, как можно еще обойти?
16 SurFace
 
05.08.16
13:08
Теперь уже другую ошибку выводит в полученный файл:
<html>
<head><title>400 The plain HTTP request was sent to HTTPS port</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<center>The plain HTTP request was sent to HTTPS port</center>
<hr><center>nginx</center>
</body>
</html>
17 Йохохо
 
05.08.16
13:11
(16) дык "ЗащищенноеСоединение = Неопределено;"
18 SurFace
 
05.08.16
13:14
уже и в истину приводил - у меня не получилось.
Можешь пример привести как оно должно корректно писаться?
19 Йохохо
 
05.08.16
13:18
(18) после строки Соединение = Новый .. посмотри ИнформацияОбОшибке()
20 SurFace
 
05.08.16
13:28
При установке режима защищеное:
http://screencast.com/t/9y2o5D17LD

или нужно активировать именно защищеное соединенение?
ошибка: http://screencast.com/t/WB3fPIDOFnl
21 SurFace
 
05.08.16
14:04
Может есть у кого мыслишки, хееелп
22 Mauser
 
05.08.16
14:17
А ты часом не в микрофинансовой организации работаешь?
23 Mauser
 
05.08.16
14:18
На втором скриншоте явно написана причина - 1С не знает этого сертификата или его издателя