WinSCP WebDAV Transfer Issue – Getting "400 Bad Request” Errors
I am having an isue with WinSCP periodically giving me "400 Bad Request" errors when doing a file uploads using WebDAV protocal in background transfer mode using multiple connections for a single transfer.
I am using the WinSCP version 5.15.1 (Build 9407) and would appreciate any comments or suggestions. Below are more details ...
I only see these errors using WinSCP in a specific configuration - the transfers are done in background using WebDAV with the “Use multiple connections for single transfer” option. If I deselect the multiple connections option, I do not see any of the “400 Bad Request” errors. Also, if I use FTPS protocol instead of WebDAV, I do not see any problem when using the multiple connections option.
I have reproduced these errors on three different hosting providers but have two others where I can’t generate the errors. I can't find anything to explain why it works on some and not the others.
My test case for all of the hosting providers is the transfer of about 85MB of files (196 files total) and I typically see between 5 to 10 errors per test. For each error, an error window will popup and if I select “Retry”, the transfer will work on the retry.
The following is an excerpt of an error log generated for a single error condition. The 404 error is shown at time 09:12:32.496.
Any suggestions or comments regarding this issue would be greatly appreciated.
Thanks, Paul
I am using the WinSCP version 5.15.1 (Build 9407) and would appreciate any comments or suggestions. Below are more details ...
I only see these errors using WinSCP in a specific configuration - the transfers are done in background using WebDAV with the “Use multiple connections for single transfer” option. If I deselect the multiple connections option, I do not see any of the “400 Bad Request” errors. Also, if I use FTPS protocol instead of WebDAV, I do not see any problem when using the multiple connections option.
I have reproduced these errors on three different hosting providers but have two others where I can’t generate the errors. I can't find anything to explain why it works on some and not the others.
My test case for all of the hosting providers is the transfer of about 85MB of files (196 files total) and I typically see between 5 to 10 errors per test. For each error, an error window will popup and if I select “Retry”, the transfer will work on the retry.
The following is an excerpt of an error log generated for a single error condition. The 404 error is shown at time 09:12:32.496.
. 2019-05-16 09:12:32.394 [Background 3] File: 'F:\Temp\Temp1\favicon\favicon-32x32.png' [2019-05-13T21:55:40.000Z] [2116] . 2019-05-16 09:12:32.394 [Background 3] Copying "F:\Temp\Temp1\favicon\favicon-32x32.png" to remote directory started. . 2019-05-16 09:12:32.394 [Background 3] ah_create, for WWW-Authenticate . 2019-05-16 09:12:32.394 [Background 3] auth: Sending 'Basic' response. > 2019-05-16 09:12:32.394 [Background 3] <?xml version="1.0" encoding="utf-8"?> > 2019-05-16 09:12:32.394 [Background 3] <propfind xmlns="DAV:"><allprop/></propfind> . 2019-05-16 09:12:32.394 [Background 3] Sending request headers: . 2019-05-16 09:12:32.394 [Background 3] PROPFIND /public_html/temp-upload-test1/favicon/favicon-32x32.png HTTP/1.1 . 2019-05-16 09:12:32.394 [Background 3] User-Agent: WinSCP/5.15.1 neon/0.30.2 . 2019-05-16 09:12:32.394 [Background 3] Connection: TE . 2019-05-16 09:12:32.394 [Background 3] TE: trailers . 2019-05-16 09:12:32.394 [Background 3] Host: _______________.com:2078 . 2019-05-16 09:12:32.394 [Background 3] Depth: 0 . 2019-05-16 09:12:32.394 [Background 3] Content-Length: 84 . 2019-05-16 09:12:32.394 [Background 3] Content-Type: application/xml . 2019-05-16 09:12:32.394 [Background 3] Authorization: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx . 2019-05-16 09:12:32.394 [Background 3] Sending request-line and headers: . 2019-05-16 09:12:32.394 [Background 3] Sending request body: . 2019-05-16 09:12:32.394 [Background 3] Request sent; retry is 1. . 2019-05-16 09:12:32.434 [Background 3] [status-line] < HTTP/1.1 404 Not Found . 2019-05-16 09:12:32.434 [Background 3] Header Name: [date], Value: [Thu, 16 May 2019 14:12:32 GMT] . 2019-05-16 09:12:32.434 [Background 3] Header Name: [server], Value: [cPanel] . 2019-05-16 09:12:32.434 [Background 3] Header Name: [persistent-auth], Value: [false] . 2019-05-16 09:12:32.434 [Background 3] Header Name: [host], Value: [_______________.com:2078] . 2019-05-16 09:12:32.434 [Background 3] Header Name: [cache-control], Value: [no-cache, no-store, must-revalidate, private] . 2019-05-16 09:12:32.434 [Background 3] Header Name: [connection], Value: [Keep-Alive] . 2019-05-16 09:12:32.434 [Background 3] Header Name: [vary], Value: [Accept-Encoding] . 2019-05-16 09:12:32.434 [Background 3] Header Name: [content-length], Value: [0] . 2019-05-16 09:12:32.434 [Background 3] Header Name: [expires], Value: [Fri, 01 Jan 1990 00:00:00 GMT] . 2019-05-16 09:12:32.434 [Background 3] Header Name: [dav], Value: [1, 2] . 2019-05-16 09:12:32.434 [Background 3] Header Name: [ms-author-via], Value: [DAV] . 2019-05-16 09:12:32.434 [Background 3] End of headers. . 2019-05-16 09:12:32.434 [Background 3] ah_post_send (#0), code is 404 (want 401), WWW-Authenticate is (none) . 2019-05-16 09:12:32.434 [Background 3] Request ends, status 404 class 4xx, error line: . 2019-05-16 09:12:32.434 [Background 3] 404 Not Found . 2019-05-16 09:12:32.434 [Background 3] Request ends. . 2019-05-16 09:12:32.435 [Background 3] ah_create, for WWW-Authenticate . 2019-05-16 09:12:32.435 [Background 3] auth: Sending 'Basic' response. . 2019-05-16 09:12:32.435 [Background 3] Sending request headers: . 2019-05-16 09:12:32.435 [Background 3] PUT /public_html/temp-upload-test1/favicon/favicon-32x32.png HTTP/1.1 . 2019-05-16 09:12:32.435 [Background 3] User-Agent: WinSCP/5.15.1 neon/0.30.2 . 2019-05-16 09:12:32.435 [Background 3] Connection: TE . 2019-05-16 09:12:32.435 [Background 3] TE: trailers . 2019-05-16 09:12:32.435 [Background 3] Host: _______________.com:2078 . 2019-05-16 09:12:32.435 [Background 3] Content-Length: 2116 . 2019-05-16 09:12:32.435 [Background 3] Authorization: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx . 2019-05-16 09:12:32.435 [Background 3] Content-Type: image/png . 2019-05-16 09:12:32.435 [Background 3] Sending request-line and headers: . 2019-05-16 09:12:32.435 [Background 3] Sending request body: . 2019-05-16 09:12:32.435 [Background 3] Request sent; retry is 1. . 2019-05-16 09:12:32.496 [Background 3] [status-line] < HTTP/1.1 400 Bad Request . 2019-05-16 09:12:32.496 [Background 3] Header Name: [date], Value: [Thu, 16 May 2019 14:12:32 GMT] . 2019-05-16 09:12:32.496 [Background 3] Header Name: [server], Value: [cPanel] . 2019-05-16 09:12:32.496 [Background 3] Header Name: [persistent-auth], Value: [false] . 2019-05-16 09:12:32.496 [Background 3] Header Name: [host], Value: [_______________.com:2078] . 2019-05-16 09:12:32.496 [Background 3] Header Name: [cache-control], Value: [no-cache, no-store, must-revalidate, private] . 2019-05-16 09:12:32.496 [Background 3] Header Name: [connection], Value: [close] . 2019-05-16 09:12:32.496 [Background 3] Header Name: [vary], Value: [Accept-Encoding] . 2019-05-16 09:12:32.496 [Background 3] Header Name: [expires], Value: [Fri, 01 Jan 1990 00:00:00 GMT] . 2019-05-16 09:12:32.496 [Background 3] End of headers. . 2019-05-16 09:12:32.496 [Background 3] ah_post_send (#0), code is 400 (want 401), WWW-Authenticate is (none) . 2019-05-16 09:12:32.496 [Background 3] sess: Closing connection. . 2019-05-16 09:12:32.496 [Background 3] sess: Connection closed. . 2019-05-16 09:12:32.496 [Background 3] Request ends, status 400 class 4xx, error line: . 2019-05-16 09:12:32.496 [Background 3] 400 Bad Request . 2019-05-16 09:12:32.496 [Background 3] Request ends. * 2019-05-16 09:12:32.496 [Background 3] (ExtException) 400 Bad Request . 2019-05-16 09:12:32.496 [Background 3] Asking user: . 2019-05-16 09:12:32.496 [Background 3] Error transferring file 'F:\Temp\Temp1\favicon\favicon-32x32.png'. ("400 Bad Request")
Any suggestions or comments regarding this issue would be greatly appreciated.
Thanks, Paul