How can I use wget to download a Confluence attachment without any plugins?
Results in an html file rather than the file itself. In my specific case I am trying to download a powerpoint file. If I enter the same URL in a browser, the browser will download the file correctly.
Try curl with the -O option. I had success using a command like this:
curl -O -uwilliam:password "http://confluence.mydomain.com/download/attachments/12345678/readme.txt"
Note that I stripped "?api=v2" from the download url. It wasn't necessary in my case and curl will use it in the file name.
This was with Confluence 4.3.7. I have no other version to test.
I solved it by using something that seems to be the case for other Atlassian products (ie JIRA)
You need to have the login info in the URL itself.
$client = new-object System.Net.WebClient
also remove any other stuff added after the extension of the file name in the URL
This works, but when works with wget, the downloaded file name will contain ?os_username……
I don't know if there is any convenient wget option to keep the original name "St-1.0.docx"
wget ... -o "St-1.0.docx" is too complicated.
Similarly, ?os_authType=basic has the same issue.
wget --header="Authorization: Basic <encoded-string-usr:pwd>" <url>
wget --content-disposition <url>\?os_authType=basic (Note: with usr/pwd predefined in ~/.netrc see `man netrc`)
curl -O --header="Authorization: Basic <encoded-string-usr:pwd>" <url>
Using curl resulted in a zero byte file so I ended up accessing my file this way:
wget --header="Authorization: Basic Z2l0Y29uZmlnQGhh" "https://mysite.atlassian.net/wiki/download/attachments/1841544/US_export_policy.jar"
You did not explain that in the original question. You only asked how you use wget and I told you.
Now you've changed the question to something totally different, I can try again, although the answer is basically the same - hit the url for the file with wget and a username and password.
The problem you're having is probably that the url is wrong (download, not downloads) and you may need to add the api version to it by adding &api=2 to the end.
The saved file has the same filename as it the attachment (ie. filename.ppt). It won't open in powerpoint, but I can open it in notepad and it starts with "<!DOCTYPE html PUBLIC". If I manually change the extension to .html and open it in a browser, the page looks like a Confluence log-in page. I guess this means the username and password that is part of the wget command line isn't being transferred over to Confluence's login request?
In a new browser, entering the URL does ask me for the username and password (didn't notice it before since I was already logged into Confluence).
Was this ever resolved??
No. the command aboved marked solved does NOT work.
I am getting exactly the same issue.
Where file downloaded (supposed to be a .doc) starts with <!DOCTYPE html>
The file size is much smaller. And if I manually change the file to be .html, it goes into a cached page of what looks like the login page. So the credentials are not getting transferred.
Works fine on other site ie:
wget -O my.pdf "https://www.tutorialspoint.com/vbscript/vbscript_tutorial.pdf"
But this doesn't work
wget -O my.pdf --user user --password mypassword "http://tsm-wiki/download/attachments/38897186/Al%27s+comments.doc?version=1&modificationDate=1351755856000"
Any help is much appreciated.
- Create your own custom emoji 🔥 - "Shake for Feedback" on mobile 📱 - An endless supply of GIFs via GIPHY 🤩 Is there anything quite as nice as a pleasant surprise? Comment below with what...
Connect with like-minded Atlassian users at free events near you!Find an event
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no Community Events near you at the moment.Host an event
You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events