Скачивание файлов с BitTransfer не работает - PullRequest
0 голосов
/ 12 июля 2020

Я пытаюсь загрузить файл через BitsTransfer. Загрузка отлично работает в моем браузере, однако он даже не пытается подключиться к серверу, используя

Start-BitsTransfer "https://download.microsoft.com/download/4/E/C/4EC66C83-1E15-43FD-B591-63FB7A14/Windows8.1-KB2919355-x86.msu" \Users\Admin\testfilekb -Asynchronous

(проверено с помощью Wireshark)

I m с помощью Powershell в первый день, поэтому я не знаком с какими-либо возможными предпосылками для этого.

Я пробовал разные серверы / типы файлов, всегда выдает такую ​​ошибку:

PS C:\Users\Admin> Get-BitsTransfer


    JobId                   DisplayName             TransferType            JobState                OwnerAccount
    -----                   -----------             ------------            --------                ------------
    8615331f-0ed2-4688-9... BITS Transfer           Download                Error                   Admin-PC\Admin

1 Ответ

0 голосов
/ 12 июля 2020

Это вызвано тем, что веб-сервер возвращает 404 not found. Попробуйте использовать URL-адрес в браузере. Я попробовал и тоже получил 404. Кажется, что URL неправильный.

Чтобы получить фактический код ошибки, используйте Get-BitsTransfer (вывод немного обрезан) и конвертируйте InternalErrorCode как шестнадцатеричное значение для поиска в Google:

PS C:\> Get-BitsTransfer
JobId                                DisplayName   TransferType JobState 
-----                                -----------   ------------ -------- 
76298096-31f2-4882-80e5-a8391fadaf92 BITS Transfer Download     Error    


PS C:\> $bt =Get-BitsTransfer -JobId 76298096-31f2-4882-80e5-a8391fadaf92
PS C:\> $bt.InternalErrorCode
-2145844844

Преобразуйте целое число в шестнадцатеричное, например,

([int]-2145844844).tostring('x')
80190194

И обратитесь к исходному коду Bits. Заголовок BitsMsg.h объясняет, что 404 не найден:

// MessageId: BG_E_HTTP_ERROR_404
// MessageText:
// HTTP status 404: The requested URL does not exist on the server.
#define BG_E_HTTP_ERROR_404              0x80190194L
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...