I really like the file drop feature of ownCloud. You can configure a directory to receive files from a thrid party without authentication and with no troubles. You get an URL and that is everything you have to share. People will see a simple file upload field and can push their files directly into your ownCloud. Easy.
When you want a machine to upload to this directory, your browsers console will send a more complex request, with access tokens, session id and all the stuff you will need an inadequate amount of time to reproduce with your code.
Then I found the solution posted here in 2018 that is still working.
A file drop URL usually looks like
Take the last part as a username for a HTTP basic auth, and proceed like this:
FILE="[ReplaceWithFileInCurrentDir]" curl "https://yourowncloud.de.vu/public.php/webdav/$FILE" \ -u "TrQB1MeB5pf5rZ:" \ --compressed \ -X PUT \ --upload-file $FILE \ -H 'X-Requested-With: XMLHttpRequest'
As always when using undocumented features like this: They are subject to be removed – or may be not.