Generally speaking, modern web technologies do not allow you to manipulate the end-user's browser experience. Whether or not a "Save As" dialog pops up is a decision set by each user at the browser level.
The getBody method returns the CSV data as a UTF-8 string. No additional parsing necessary.
String csvString = response.getBody();
If you wanted a blob, use getBodyAsBlob.
Blob csvBlob = response.getBodyAsBlob();
Regardless, if your file has non-UTF-8 characters, you won't be able to read it as UTF-8. You'll need to check the data you're receiving to make ...