Download file batch Windows dari URL


113

Saya mencoba mengunduh file dari situs web (mis. Http://www.example.com/package.zip ) menggunakan file batch Windows. Saya mendapatkan kode kesalahan ketika saya menulis fungsi di bawah ini:

xcopy /E /Y "http://www.example.com/package.zip"

File batch sepertinya tidak menyukai "/" setelah http. Apakah ada cara untuk keluar dari karakter tersebut sehingga tidak dianggap sebagai parameter fungsi?


Di sini: stackoverflow.com/questions/28143160/… Saya telah mencoba melanjutkan cara bagaimana file dapat diunduh di Windows hanya menggunakan alat asli tanpa perangkat lunak pihak ketiga.
npocmaka

Jawaban:


136

Dengan PowerShell 2.0 (Windows 7 prainstal) Anda dapat menggunakan:

(New-Object Net.WebClient).DownloadFile('http://www.example.com/package.zip', 'package.zip')

Dimulai dengan PowerShell 3.0 (Windows 8 prainstal), Anda dapat menggunakan Invoke-WebRequest:

Invoke-WebRequest http://www.example.com/package.zip -OutFile package.zip

Dari file batch mereka dipanggil:

powershell -Command "(New-Object Net.WebClient).DownloadFile('http://www.example.com/package.zip', 'package.zip')"
powershell -Command "Invoke-WebRequest http://www.example.com/package.zip -OutFile package.zip"

(PowerShell 2.0 tersedia untuk instalasi di XP, 3.0 untuk Windows 7)


2
Keren! Lebih baik dari bitsadmin.exe, karena tidak digunakan lagi.
sinelaw

@sevenforce, Apakah perintah Powershell 2.0 juga berfungsi di Powershell 3.0, atau apakah Anda harus menggunakan sintaks Powershell 3.0?
Rich Signell

4
@RichSignell: perintah 2.0 juga berfungsi di 3.0. Untuk perintah 2.0, saya perhatikan, bahwa untuk jalur target non-absolut, file akan disimpan relatif ke folder rumah pengguna.
sevenforce

1
Ini luar biasa. Aku sudah lama mencari ini. Terima kasih! Masih bekerja pada 2017.
Albert MN.

2
Kode 2.0 bekerja untuk saya pada Win 7. yang up-to-date. Dan karena ia juga bekerja tanpa memberikan izin admin PowerShell, biarkan ini berdiri sebagai bukti sempurna dari konsep bahwa mengklik tidak diketahui .batdan .ps1file benar-benar dapat mengacaukan barang-barang Anda.
1934286

97

Ada komponen Windows standar yang dapat mencapai apa yang Anda coba lakukan: BITS . Ini telah disertakan dalam Windows sejak XP dan 2000 SP3.

Lari:

bitsadmin.exe /transfer "JobName" http://download.url/here.exe C:\destination\here.exe

Nama pekerjaan hanyalah nama tampilan untuk pekerjaan unduhan - atur ke sesuatu yang menggambarkan apa yang Anda lakukan.


14
Alat yang bagus! Tetapi win8 saya mengatakan: "BITSAdmin sudah usang dan tidak dijamin akan tersedia di versi Windows mendatang. Alat administratif untuk layanan BITS sekarang disediakan oleh cmdlet BITS PowerShell."
Peteter

1
Seperti yang telah saya sebutkan, bitsadmin tidak berfungsi dalam batch otomatis yang dijalankan dari penjadwal tugas :(
TomeeNS

1
@cmroanirgo bitsadmintidak tersedia di Windows XP Home Edition.
gaya bertingkat

1
Masih kuat di Windows 10 Pro
Orwellophile

3
Terima kasih! Berfungsi seperti jimat pada komputer yang terinfeksi tanpa cara lain yang memungkinkan untuk mengunduh file dari web. (Bahkan PowerShell tidak mungkin diluncurkan)
szab.kel

29

Ini mungkin sedikit keluar dari topik, tetapi Anda dapat dengan mudah mengunduh file menggunakan Powershell . Powershell hadir dengan versi Windows modern sehingga Anda tidak perlu menginstal barang tambahan apa pun di komputer. Saya belajar bagaimana melakukannya dengan membaca halaman ini:

http://teusje.wordpress.com/2011/02/19/download-file-with-powershell/

Kodenya adalah:

$webclient = New-Object System.Net.WebClient
$url = "http://www.example.com/file.txt"
$file = "$pwd\file.txt"
$webclient.DownloadFile($url,$file)

2
Jika Anda mencari blog itu, ada contoh PowerShell lain yang membuatnya lebih mudah dengan PowerShell versi 3.0
juFo

Saya tidak berpikir Anda perlu SystemdalamSystem.Net.WebClient
1934286

25

Terakhir saya periksa, tidak ada perintah baris perintah untuk menyambung ke URL dari baris perintah MS. Coba wget untuk Windows:
http://gnuwin32.sourceforge.net/packages/wget.htm

atau URL2File:
http://www.chami.com/free/url2file_wincon.html

Di Linux, Anda dapat menggunakan "wget".

Sebagai alternatif, Anda dapat mencoba VBScript. Mereka seperti program baris perintah, tetapi mereka adalah skrip yang ditafsirkan oleh host skrip wscript.exe. Berikut adalah contoh mengunduh file menggunakan VBS:
/server/29707/download-file-from-vbscript


2
Anda tidak perlu wget atau integrasi pihak ketiga. BITS (Standard Windows Component sejak XP) dapat melakukannya dengan utilitas bitsadmin dari baris perintah MS. Jawaban diposting - meskipun agak terlambat (tertinggal 2 tahun?)
Brainwood

18

Mendownload file di PURE BATCH ...

Tanpa JScript, VBScript, Powershell, dll ... Hanya Batch murni!

Beberapa orang mengatakan tidak mungkin mengunduh file dengan skrip batch tanpa menggunakan JScript atau VBScript, dll ... Tapi mereka pasti salah!

Berikut adalah metode sederhana yang tampaknya berfungsi cukup baik untuk mengunduh file dalam skrip batch Anda. Ini harus berfungsi di hampir semua URL file. Bahkan dimungkinkan untuk menggunakan server proxy jika Anda membutuhkannya.

Untuk mendownload file, kita bisa menggunakan BITSADMIN.EXE dari sistem Windows. Tidak perlu mengunduh / menginstal apa pun atau menggunakan JScript atau VBScript, dll. Bitsadmin.exe ada di sebagian besar versi Windows, mungkin dari XP ke Windows 10.

Nikmati!


PEMAKAIAN:

Anda dapat menggunakan perintah BITSADMIN secara langsung, seperti ini:
bitsadmin /transfer mydownloadjob /download /priority FOREGROUND "http://example.com/File.zip" "C:\Downloads\File.zip"

Server Proxy:
Untuk menghubungkan menggunakan proxy, gunakan perintah ini sebelum mengunduh.
bitsadmin /setproxysettings mydownloadjob OVERRIDE "proxy-server.com:8080" "<local>"

Klik LINK ini jika Anda ingin info lebih lanjut tentang BITSadmin.exe


PEMECAHAN MASALAH:
Jika Anda mendapatkan kesalahan ini: "Tidak dapat terhubung ke BITS - 0x80070422"
Pastikan layanan windows "Background Intelligent Transfer Service (BITS)" diaktifkan dan coba lagi. (Ini harus diaktifkan secara default.)


FUNGSI KUSTOM
Call :DOWNLOAD_FILE "URL"
Call :DOWNLOAD_PROXY_ON "SERVER:PORT"
Call :DOWNLOAD_PROXY_OFF

Saya membuat 3 fungsi ini untuk menyederhanakan perintah bitsadmin. Lebih mudah digunakan dan diingat. Ini bisa sangat berguna jika Anda menggunakannya beberapa kali dalam skrip Anda.

HARAP DICATAT ...
Sebelum menggunakan fungsi ini, Anda harus menyalinnya terlebih dahulu dari CUSTOM_FUNCTIONS.CMD ke bagian akhir skrip Anda. Ada juga contoh lengkapnya: DOWNLOAD-EXAMPLE.CMD

: DOWNLOAD_FILE "URL"
Fungsi utama, akan mendownload file dari URL.

: DOWNLOAD_PROXY_ON "SERVER: PORT"
(Opsional) Anda dapat menggunakan fungsi ini jika Anda perlu menggunakan server proxy.
Memanggil fungsi: DOWNLOAD_PROXY_OFF akan menonaktifkan server proxy.

CONTOH:
CALL :DOWNLOAD_PROXY_ON "proxy-server.com:8080"
CALL :DOWNLOAD_FILE "http://example.com/File.zip" "C:\Downloads\File.zip"
CALL :DOWNLOAD_PROXY_OFF


CUSTOM_FUNCTIONS.CMD

:DOWNLOAD_FILE
    rem BITSADMIN COMMAND FOR DOWNLOADING FILES:
    bitsadmin /transfer mydownloadjob /download /priority FOREGROUND %1 %2
GOTO :EOF

:DOWNLOAD_PROXY_ON
    rem FUNCTION FOR USING A PROXY SERVER:
    bitsadmin /setproxysettings mydownloadjob OVERRIDE %1 "<local>"
GOTO :EOF

:DOWNLOAD_PROXY_OFF
    rem FUNCTION FOR STOP USING A PROXY SERVER:
    bitsadmin /setproxysettings mydownloadjob NO_PROXY
GOTO :EOF

UNDUH-CONTOH.CMD

@ECHO OFF
SETLOCAL

rem FOR DOWNLOADING FILES, THIS SCRIPT IS USING THE "BITSADMIN.EXE" SYSTEM FILE.
rem IT IS PRESENT ON MOST WINDOWS VERSION, PROBABLY FROM WINDOWS XP TO WINDOWS 10.


:SETUP

rem URL (5MB TEST FILE):
SET "FILE_URL=http://ipv4.download.thinkbroadband.com/5MB.zip"

rem SAVE IN CUSTOM LOCATION:
rem SET "SAVING_TO=C:\Folder\5MB.zip"

rem SAVE IN THE CURRENT DIRECTORY
SET "SAVING_TO=5MB.zip"
SET "SAVING_TO=%~dp0%SAVING_TO%"

:MAIN

ECHO.
ECHO DOWNLOAD SCRIPT EXAMPLE
ECHO.
ECHO FILE URL: "%FILE_URL%"
ECHO SAVING TO:  "%SAVING_TO%"
ECHO.

rem UNCOMENT AND MODIFY THE NEXT LINE IF YOU NEED TO USE A PROXY SERVER:
rem CALL :DOWNLOAD_PROXY_ON "PROXY-SERVER.COM:8080"

rem THE MAIN DOWNLOAD COMMAND:
CALL :DOWNLOAD_FILE "%FILE_URL%" "%SAVING_TO%"

rem UNCOMMENT NEXT LINE FOR DISABLING THE PROXY (IF YOU USED IT):
rem CALL :DOWNLOAD_PROXY_OFF

:RESULT
ECHO.
IF EXIST "%SAVING_TO%" ECHO YOUR FILE HAS BEEN SUCCESSFULLY DOWNLOADED.
IF NOT EXIST "%SAVING_TO%" ECHO ERROR, YOUR FILE COULDN'T BE DOWNLOADED.
ECHO.

:EXIT_SCRIPT
PAUSE
EXIT /B




rem FUNCTIONS SECTION


:DOWNLOAD_FILE
    rem BITSADMIN COMMAND FOR DOWNLOADING FILES:
    bitsadmin /transfer mydownloadjob /download /priority FOREGROUND %1 %2
GOTO :EOF

:DOWNLOAD_PROXY_ON
    rem FUNCTION FOR USING A PROXY SERVER:
    bitsadmin /setproxysettings mydownloadjob OVERRIDE %1 "<local>"
GOTO :EOF

:DOWNLOAD_PROXY_OFF
    rem FUNCTION FOR STOP USING A PROXY SERVER:
    bitsadmin /setproxysettings mydownloadjob NO_PROXY
GOTO :EOF

1
Saya baru saja memperbarui jawaban saya ... Ternyata, kecepatan unduh sangat lambat, jadi saya mengubah parameter dari "/ priority normal" menjadi "/ priority foreground" dan itu memperbaiki masalah. Ini seharusnya menggunakan 100% bandwidth Anda yang tersedia. (Alih-alih ~ 5%)
Frank Einstein

11
' Create an HTTP object
myURL = "http://www.google.com"
Set objHTTP = CreateObject( "WinHttp.WinHttpRequest.5.1" )

' Download the specified URL
objHTTP.Open "GET", myURL, False
objHTTP.Send
intStatus = objHTTP.Status

If intStatus = 200 Then
  WScript.Echo " " & intStatus & " A OK " +myURL
Else
  WScript.Echo "OOPS" +myURL
End If

kemudian

C:\>cscript geturl.vbs
Microsoft (R) Windows Script Host Version 5.7
Copyright (C) Microsoft Corporation. All rights reserved.

200 A OK http://www.google.com

atau cukup klik dua kali untuk menguji di windows


1
Ini hanya mengunduh ke dalam memori dan belum menulis ke file. Periksa jawaban ini untuk mengunduh ke dalam file: stackoverflow.com/a/2973344/977804
Daniel

5

AFAIK, Windows tidak memiliki alat baris perintah bawaan untuk mengunduh file. Tetapi Anda dapat melakukannya dari VBScript, dan Anda dapat membuat file VBScript dari batch menggunakan pengalihan echo dan keluaran:

@echo off

rem Windows has no built-in wget or curl, so generate a VBS script to do it:
rem -------------------------------------------------------------------------
set DLOAD_SCRIPT=download.vbs
echo Option Explicit                                                    >  %DLOAD_SCRIPT%
echo Dim args, http, fileSystem, adoStream, url, target, status         >> %DLOAD_SCRIPT%
echo.                                                                   >> %DLOAD_SCRIPT%
echo Set args = Wscript.Arguments                                       >> %DLOAD_SCRIPT%
echo Set http = CreateObject("WinHttp.WinHttpRequest.5.1")              >> %DLOAD_SCRIPT%
echo url = args(0)                                                      >> %DLOAD_SCRIPT%
echo target = args(1)                                                   >> %DLOAD_SCRIPT%
echo WScript.Echo "Getting '" ^& target ^& "' from '" ^& url ^& "'..."  >> %DLOAD_SCRIPT%
echo.                                                                   >> %DLOAD_SCRIPT%
echo http.Open "GET", url, False                                        >> %DLOAD_SCRIPT%
echo http.Send                                                          >> %DLOAD_SCRIPT%
echo status = http.Status                                               >> %DLOAD_SCRIPT%
echo.                                                                   >> %DLOAD_SCRIPT%
echo If status ^<^> 200 Then                                            >> %DLOAD_SCRIPT%
echo    WScript.Echo "FAILED to download: HTTP Status " ^& status       >> %DLOAD_SCRIPT%
echo    WScript.Quit 1                                                  >> %DLOAD_SCRIPT%
echo End If                                                             >> %DLOAD_SCRIPT%
echo.                                                                   >> %DLOAD_SCRIPT%
echo Set adoStream = CreateObject("ADODB.Stream")                       >> %DLOAD_SCRIPT%
echo adoStream.Open                                                     >> %DLOAD_SCRIPT%
echo adoStream.Type = 1                                                 >> %DLOAD_SCRIPT%
echo adoStream.Write http.ResponseBody                                  >> %DLOAD_SCRIPT%
echo adoStream.Position = 0                                             >> %DLOAD_SCRIPT%
echo.                                                                   >> %DLOAD_SCRIPT%
echo Set fileSystem = CreateObject("Scripting.FileSystemObject")        >> %DLOAD_SCRIPT%
echo If fileSystem.FileExists(target) Then fileSystem.DeleteFile target >> %DLOAD_SCRIPT%
echo adoStream.SaveToFile target                                        >> %DLOAD_SCRIPT%
echo adoStream.Close                                                    >> %DLOAD_SCRIPT%
echo.                                                                   >> %DLOAD_SCRIPT%
rem -------------------------------------------------------------------------

cscript //Nologo %DLOAD_SCRIPT% http://example.com targetPathAndFile.html

Penjelasan lebih lanjut di sini


Adakah alasan untuk tidak melakukan ini dalam file terpisah dan cukup memanggil file VBScript dari batch? Ini akan menjadi kekacauan yang mengerikan jika Anda perlu mengeditnya.
seadoggie01

4
  1. Unduh Wget dari sini http://downloads.sourceforge.net/gnuwin32/wget-1.11.4-1-setup.exe

  2. Kemudian instal.

  3. Kemudian buat beberapa file bat dan masukkan ini ke dalamnya

    @echo off
    
    for /F "tokens=2,3,4 delims=/ " %%i in ('date/t') do set y=%%k
    for /F "tokens=2,3,4 delims=/ " %%i in ('date/t') do set d=%%k%%i%%j
    for /F "tokens=5-8 delims=:. " %%i in ('echo.^| time ^| find "current" ') do set t=%%i%%j
    set t=%t%_
    if "%t:~3,1%"=="_" set t=0%t%
    set t=%t:~0,4%
    set "theFilename=%d%%t%"
    echo %theFilename%
    
    
    cd "C:\Program Files\GnuWin32\bin"
    wget.exe --output-document C:\backup\file_%theFilename%.zip http://someurl/file.zip
    
  4. Sesuaikan URL dan jalur file di skrip

  5. Jalankan file dan untung!


3

Jika bitsadmin bukan secangkir teh Anda, Anda dapat menggunakan perintah PowerShell ini:

Start-BitsTransfer -Source http://www.foo.com/package.zip -Destination C:\somedir\package.zip

saya ingin mengunduh .exe dan saya juga menggunakan kode ini dan tidak berfungsi .. Dapatkah saya mengunduh .exe menggunakan skrip batch?
MAS. Yohanes

3

Gunakan Bat To Exe Converter

Buat file batch dan masukkan sesuatu seperti kode di bawah ini ke dalamnya

%extd% /download http://www.examplesite.com/file.zip file.zip

atau

%extd% /download http://stackoverflow.com/questions/4619088/windows-batch-file-file-download-from-a-url thistopic.html

dan mengubahnya menjadi exe.


3

Selain wget, Anda juga dapat menggunakan aria2 untuk mendownload file dari URL tertentu.

Lihat tautan berikut yang akan menjelaskan lebih lanjut tentang aria2:

https://aria2.github.io/


1 untuk menyebutkan alat ini yang saya belum tahu. terlalu buruk itu memiliki masalah dengan HTTPS seperti wget (belum menemukan cara untuk mengatur rantai CA)
Jeroen Wiert Pluimers

2

BATCH mungkin tidak dapat melakukan ini, tetapi Anda dapat menggunakan JScript atau VBScript jika Anda tidak ingin menggunakan alat yang tidak diinstal secara default dengan Windows.

Contoh pertama di halaman ini mengunduh file biner di VBScript: http://www.robvanderwoude.com/vbstech_internet_download.php

Jawaban SO ini mendownload file menggunakan JScript (IMO, bahasa yang lebih baik): Windows Script Host (jscript): bagaimana cara mendownload file biner?

Skrip batch Anda kemudian dapat memanggil JScript atau VBScript yang mengunduh file tersebut.


2

Ini harus berfungsi, saya melakukan hal berikut untuk proyek server game. Ini akan mengunduh zip dan mengekstraknya ke direktori apa pun yang Anda tentukan.

Simpan sebagai name.bat atau name.cmd

@echo off
set downloadurl=http://media.steampowered.com/installer/steamcmd.zip
set downloadpath=C:\steamcmd\steamcmd.zip
set directory=C:\steamcmd\
%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe -Command "& {Import-Module BitsTransfer;Start-BitsTransfer '%downloadurl%' '%downloadpath%';$shell = new-object -com shell.application;$zip = $shell.NameSpace('%downloadpath%');foreach($item in $zip.items()){$shell.Namespace('%directory%').copyhere($item);};remove-item '%downloadpath%';}"
echo download complete and extracted to the directory.
pause

Asli: https://github.com/C0nw0nk/SteamCMD-AutoUpdate-Any-Gameserver/blob/master/steam.cmd


saya ingin mengunduh .exe dan saya menggunakan kode ini dan tidak berfungsi .. Dapatkah saya mengunduh .exe menggunakan skrip batch?
MAS. Yohanes

1

Saya menemukan skrip VB ini:

http://www.olafrv.com/?p=385

Bekerja seperti pesona. Dikonfigurasi sebagai fungsi dengan panggilan fungsi yang sangat sederhana:

SaveWebBinary "http://server/file1.ext1", "C:/file2.ext2"

Berasal dari: http://www.ericphelps.com/scripting/samples/BinaryDownload/index.htm

Berikut adalah kode lengkap untuk redundansi:

Function SaveWebBinary(strUrl, strFile) 'As Boolean
Const adTypeBinary = 1
Const adSaveCreateOverWrite = 2
Const ForWriting = 2
Dim web, varByteArray, strData, strBuffer, lngCounter, ado
    On Error Resume Next
    'Download the file with any available object
    Err.Clear
    Set web = Nothing
    Set web = CreateObject("WinHttp.WinHttpRequest.5.1")
    If web Is Nothing Then Set web = CreateObject("WinHttp.WinHttpRequest")
    If web Is Nothing Then Set web = CreateObject("MSXML2.ServerXMLHTTP")
    If web Is Nothing Then Set web = CreateObject("Microsoft.XMLHTTP")
    web.Open "GET", strURL, False
    web.Send
    If Err.Number <> 0 Then
        SaveWebBinary = False
        Set web = Nothing
        Exit Function
    End If
    If web.Status <> "200" Then
        SaveWebBinary = False
        Set web = Nothing
        Exit Function
    End If
    varByteArray = web.ResponseBody
    Set web = Nothing
    'Now save the file with any available method
    On Error Resume Next
    Set ado = Nothing
    Set ado = CreateObject("ADODB.Stream")
    If ado Is Nothing Then
        Set fs = CreateObject("Scripting.FileSystemObject")
        Set ts = fs.OpenTextFile(strFile, ForWriting, True)
        strData = ""
        strBuffer = ""
        For lngCounter = 0 to UBound(varByteArray)
            ts.Write Chr(255 And Ascb(Midb(varByteArray,lngCounter + 1, 1)))
        Next
        ts.Close
    Else
        ado.Type = adTypeBinary
        ado.Open
        ado.Write varByteArray
        ado.SaveToFile strFile, adSaveCreateOverWrite
        ado.Close
    End If
    SaveWebBinary = True
End Function

1

Pertanyaan ini memiliki jawaban yang sangat bagus di sini . Kode saya murni berdasarkan jawaban itu dengan beberapa modifikasi.

Simpan potongan di bawah sebagai wget.bat dan letakkan di jalur sistem Anda (misalnya, Letakkan di direktori dan tambahkan direktori ini ke jalur sistem.)

Anda dapat menggunakannya di cli Anda sebagai berikut:

wget url/to/file [?custom_name]

dimana url_to_filewajib dan custom_nameopsional

  1. Jika nama tidak tersedia, maka file yang diunduh akan disimpan dengan namanya sendiri dari url.
  2. Jika nama diberikan, maka file akan disimpan dengan nama baru.

Url file dan nama file yang disimpan ditampilkan dalam teks berwarna ansi. Jika itu menyebabkan masalah bagi Anda, kemudian memeriksa ini proyek github.

@echo OFF
setLocal EnableDelayedExpansion
set Url=%1
set Url=!Url:http://=!
set Url=!Url:/=,!
set Url=!Url:%%20=?!
set Url=!Url: =?!

call :LOOP !Url!

set FileName=%2
if "%2"=="" set FileName=!FN!

echo.
echo.Downloading: [1;33m%1[0m to [1;33m\!FileName![0m

powershell.exe -Command wget %1 -OutFile !FileName!

goto :EOF
:LOOP
if "%1"=="" goto :EOF
set FN=%1
set FN=!FN:?= !
shift
goto :LOOP

PS Kode ini mengharuskan Anda untuk menginstal PowerShell.


1

Anda dapat menyiapkan tugas terjadwal menggunakan wget, gunakan bidang "Jalankan" dalam tugas terjadwal sebagai:

C:\wget\wget.exe -q -O nul "http://www.google.com/shedule.me"

1

Ada utilitas (berada dengan CMD) di Windows yang dapat dijalankan dari CMD (jika Anda memiliki akses tulis):

set url=https://www.nsa.org/content/hl-images/2017/02/09/NSA.jpg
set file=file.jpg
certutil -urlcache -split -f %url% %file%
echo Done.

Dibangun pada aplikasi Windows. Tidak perlu unduhan eksternal.

Diuji pada Win 10


-3

gunakan ftp:

(ftp *yourewebsite.com*-a)
cd *directory*
get *filename.doc*
close

Ubah semua dalam tanda bintang agar sesuai dengan situasi Anda.


Tentunya bergantung pada server yang menghosting file tersebut untuk mendukung FTP.
PnP

Questin terkait dengan http, bukan ftp
Ben
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.