winscp | popular free SFTP and FTP client | FTP library

 by   winscp C Version: 6.1 License: Non-SPDX

kandi X-RAY | winscp Summary

kandi X-RAY | winscp Summary

winscp is a C library typically used in Networking, FTP, Electron applications. winscp has no bugs and it has medium support. However winscp has 7 vulnerabilities and it has a Non-SPDX License. You can download it from GitHub.

WinSCP is a popular free SFTP and FTP client for Windows, a powerful file manager that will improve your productivity. It offers an easy to use GUI to copy files between a local and remote computer using multiple protocols: Amazon S3, FTP, FTPS, SCP, SFTP or WebDAV. Power users can automate WinSCP using .NET assembly. WinSCP is available in English and many other languages.

            kandi-support Support

              winscp has a medium active ecosystem.
              It has 1892 star(s) with 267 fork(s). There are 63 watchers for this library.
              It had no major release in the last 6 months.
              winscp has no issues reported. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of winscp is 6.1

            kandi-Quality Quality

              winscp has 0 bugs and 0 code smells.

            kandi-Security Security

              winscp has 7 vulnerability issues reported (2 critical, 3 high, 2 medium, 0 low).
              winscp code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              winscp has a Non-SPDX License.
              Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.

            kandi-Reuse Reuse

              winscp releases are not available. You will need to build from source code and install.
              Installation instructions are not available. Examples and code snippets are available.
              It has 4860 lines of code, 2 functions and 177 files.
              It has low code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of winscp
            Get all kandi verified functions for this library.

            winscp Key Features

            No Key Features are available at this moment for winscp.

            winscp Examples and Code Snippets

            No Code Snippets are available at this moment for winscp.

            Community Discussions


            PHP FTP fails with error ftp_nlist(): php_connect_nonb() failed: Operation now in progress (115)
            Asked 2022-Apr-04 at 06:19

            I have a problem with trying to send files using a PHP FTP function.

            I am attempting to send files (PDFs) from a webserver (UNIX) to a Windows server in an office using a PHP function running on the webserver. FTP has been installed on the Windows server.

            The function connects to the office server and logs in ok. However, as soon as the function attempts to do anything (eg list the content of the office server directory) I get an error (such as... ftp_nlist(): php_connect_nonb() failed: Operation now in progress (115)). The destination server logs an error: [Administration Server] Couldn't bind on Reason: EADDRINUSE - Local address in use. Retrying in 1 seconds. I have tried looking these errors up but have ben unable to find anything that helps me.

            The connection needs to be passive and from other answers in SO I believe that it is important to stop the passive mode using the wrong IP address. So that is in there now too (ftp_set_option($ftp_conn, FTP_USEPASVADDRESS, false)) but I still get the same error.

            I get the same problem when using an SSL or non-SSL connection.

            I have managed to get a response to ftp_systype which tells me "UNIX".

            Other people have talked on SO about intermittent problems that cause this error (eg "php_connect_nonb() failed: Operation now in progress (115)" happens intermittently) but for me it is a constant error. I have checked and the FTP server is set to return the external IP address when passive mode is established. I also understand that there were some issues in older versions of PHP. I have PHP v7.4 on the webserver.

            I can connect (and copy files) without problems using Filezilla and WinSCP, just not when using the PHP function.

            The PHP function contains:



            Answered 2022-Apr-04 at 06:19

            Make sure the hosting of your webserver allows outgoing FTP data connections.

            FTP data connections (in the passive mode) need separate port range opened in the firewall, not just the control connection port 21.

            See my article on FTP connection modes to details.



            WinSCP .NET Assembly impersonation issue: The stub received bad data
            Asked 2022-Mar-18 at 11:29

            I have an .NET console app using WinSCP assembly version 5.19.5. The app is under impersonation in order to access files on NAS so that I set ExecutableProcessUserName and ExecutableProcessPassword for the Session object.



            Answered 2022-Mar-18 at 11:29

            It seems that you need to specify the domain:
            Stub received bad data?



            WinSCP Power shell script is generating error "The value supplied is not valid, or the property is read-only" while connecting to SFTP server
            Asked 2022-Feb-28 at 09:26

            I my trying to connect to a client SFTP server from our Windows Server to pull the files. The connection works fine when trying from my Local machine both using WinSCP application and PowerShell script. But I have to add proxy setting while I am trying to connect from the server which is not the case in Local connection.

            While in the server I am able to connect from WinSCP application by enabling proxy setting but fails when I am trying to connect using PowerShell script. I got the custom generated PowerShell script from WinSCP connection. Below is the code snippet and corresponding error message.



            Answered 2022-Feb-28 at 09:26

            The most probable explanation is that the value of SessionOptions.SshHostKeyFingerprint is invalid, no other property in your code is validated.

            See also WinSCP .NET assembly in PowerShell - Creating SessionOptions - The value supplied is not valid, or the property is read-only

            As your fingerprint format seems correct, but as it is a "modern" ssh-ed25519 key, I assume that you have an old version of WinSCP .NET assembly that does not accept this key. You have probably used newer version of WinSCP (the GUI) to obtain this key, but your version of .NET assembly does not accept it. Make sure you use the latest version of the assembly.



            VS Code opens "VS" and "code" window every time I open a file from WinSCP
            Asked 2022-Feb-28 at 09:22

            How can I disable the option not to open VS and Code tabs every time I open a file in VS Code?

            It only occur when I open from WinSCP a file on a remote server.



            Answered 2022-Feb-24 at 17:10


            Passing hostkey with spaces to WinSCP via Python subprocess.Popen
            Asked 2022-Feb-24 at 07:26

            As part of a larger task I want to move some files, work on them and return the new files to the sftp server. Due to restrictions laid upon me I am only able to use Python 3.4, which excludes me from any nice and fancy modules like Paramiko and pysftp.

            Connection to the server fails, according to the stdout pipe the hostkey is incorrect. The returned "incorrect" key is not identical to the one that was passed to the function. It has an additional, leading backslash and is cut short. The originally passed key is "ssh-XXXXXXX 256 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX". The "incorrect" key is "\ssh-XXXXXXX". The presumption is, that subprocess.Popen mangles the string in a way.

            • hostkey, passphrase, and privatekey are all necessary
            • the hostkey has been generated directly by the server and matches the fingerprint returned by the stdout pipe
            • the connection works when done in a windows shell, but implementation in python is desired.
            • the connection works when accepting any given Key through usage of *, but that would obviously be insecure, therefore not viable.

            Code is as follows:



            Answered 2022-Feb-23 at 07:11

            I believe it's Windows Python issue.

            Just format the commandline yourself, instead of having Popen doing (incorrectly) it for you:



            Upload .css file after saving .scss file
            Asked 2022-Feb-20 at 07:15

            I use Visual Studio Code and WinSCP. When I open .scss file via WinSCP the file is opened automatically by VSC – It's ok. There is an extension Live Sass Compiler to I could compile .scss into .css file. The problem is that .css file is created in temporary folder with random number so I always must upload the file manually by drag the file from the folder to FTP client.

            Is it there any solution to upload the .css file automatically on save from the temporary folder? Thank you in advance for a help.



            Answered 2022-Feb-10 at 13:38

            For your literal question, there's WinSCP feature request.



            FTPS data connection with TLS/SSL via proxy fails with log entry "Replacing PASV mode reply address with "
            Asked 2022-Feb-08 at 15:28

            I have an issue while connecting to a FTPS server with TLS/SSL Implicit encryption via PROXY.

            I am following the custom Apache FTPS Client (commons-net-3.8.0) solution provided from Java FTPS client through HTTP proxy

            My server connection is working, but unable to list or file transfer, getting below error:

            425 Can't open data connection for transfer of ""

            Data connection / File transfer is working fine from Windows WinSCP and Linux LFTP.

            WinSCP Log:



            Answered 2022-Feb-07 at 15:21

            I do not know your network/proxy setup, so I cannot really explain the behaviour of FTPClient. Your server seems to return IP address of the proxy in the PASV response. The default NAT resolver of FTPClient decides that the address is wrong (is it a local network host address?) and choses to use original FTP server's address instead.

            While WinSCP does not do that and connects to the IP that the server returned.

            To avoid the NAT resolver from messing with the address, use FTPClient.setPassiveNatWorkaround (though that's deprecated):



            When uploading new files to FTP server, how to prevent reupload of files that were deleted on the server meanwhile
            Asked 2022-Jan-28 at 07:02

            I need to automate the upload of some files from client PCs to a central server. We're building central statistics for an online gaming community, processing game replay files.

            • target is my own small VPS server running ubuntu
            • upload file size 2-3MB
            • 20-40 different clients running windows spread around the globe
            • I expect ~6GB of wanted data to be uploaded over the course of 7 weeks (a season in our game) and 5-10x that amount of "unwanted" data.

            The files are processed on the server, and then they're not required anymore, and ought to be deleted to not run out of disk space eventually. I also only need some of the files, but due to the files requiring very complex processing including decryption, so i can only determine that after the server processed it.

            My initial idea was to use a scriptable client such as WinSCP, and use some Windows scheduler entry to automate it. WinSCP documentation looks very nice. I am a bit hesitant because I see the following problems:

            • after deletion on the server, how to prevent re-upload ?
            • ease of setup to technical novices
            • reliability of the solution

            I was thinking maybe someone has done the same before and can give some advice.



            Answered 2022-Jan-27 at 06:32

            There's article on WinSCP site that deals with all this:
            How do I transfer new/modified files only?

            For advanced logic, like yours, it uses PowerShell script with use of WinSCP .NET assembly.

            • Particularly, there is a section that you will be interested in: Remembering the last timestamp – It shows how to remember the timestamp of the last uploaded file, so that the next time you will transfer only newer files, even if the previously uploaded files are not on the server anymore.

              The example is for downloads with Session.GetFiles, but it will with small changes work for uploads with Session.PutFiles too.

            • It also points to another article: Remember already downloaded files so they are not downloaded again, which shows another method – To store names of already transferrer file to a file and use it the next time to decide, which files are new.



            Status Code 3 at the end of WinSCP SFTP upload
            Asked 2022-Jan-21 at 08:09

            I have a Java server technology (Ignition by Inductive Automation specifically) that calls a batch file that is meant to use WinSCP to transfer some text files overnight to our customer. It is not working and I am not sure why.

            Here is the batch file – actual information has been changed so any typos are not representative of actual batch file. Note that



            Answered 2022-Jan-17 at 07:22

            To me it looks like this issue:
            Why is uploaded file not showing in a remote directory or showing with a different name?

            The code 3 is most likely a failed attempt to update timestamp of the just uploaded file that was meanwhile deleted/moved. Why it sometimes succeeds and sometimes fails can be just timing issue. Sometimes WinSCP might manage to update the timestamp before the file gets deleted/moved, sometimes not. You may want to disable timestamp update with -nopreservetime switch of the put command.



            Downloading today's file from FTP server using WinSCP from batch file fails with "Mask is invalid near '=today'"
            Asked 2022-Jan-21 at 07:52

            I have a batch file that receives an argument then passes that argument to a text scrip file that invokes WinSCP to download a file.

            My goal is to download today's file.

            I am able to download the file if in the text script file I don't have >=today.

            What do I need to change to download today's file, if it exists?

            Batch File



            Answered 2022-Jan-13 at 19:27

            I do not think this is about passing parameters.

            But the today keyword is a "recent" feature (WinSCP 5.14 from October 2018). So you probably have an old version of WinSCP that does not support it.

            If you do not have a version of WinSCP that supports today, you can use %TIMESTAMP% pattern:


            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            No vulnerabilities reported

            Install winscp

            You can download it from GitHub.


            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
          • HTTPS


          • CLI

            gh repo clone winscp/winscp

          • sshUrl


          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link