不带扩展名的文件下载 Socket编程

File downloading without extension Socket Programming

我正在使用 C++ 进行套接字编程。我必须编写代码来下载文件。 我的 Http Header 是:

   char header[] = "HTTP/1.1 200 OK\r\nContent-Type:application/vnd.ms-excel;Content-Disposition:attachment;filename:\"abc.xls\";Content-Length:14; \r\n\r\n";

但是文件下载为 "download" 它也没有扩展名。 我也用

试过了
  char header[] = "HTTP/1.1 200 OK\r\nContent-Type:application/octet-stream;Content-Disposition:attachment;filename:\"abc.xls\";Content-Length:14; \r\n\r\n";

但它不起作用。 谁能帮我解决这个问题?

您尝试过的 HTTP 响应 header 如下所示:

HTTP/1.1 200 OK
Content-Type:application/vnd.ms-excel;Content-Disposition:attachment;filename:"abc.xls";Content-Length:14;

它应该看起来像这样

HTTP/1.1 200 OK
Content-Type:application/vnd.ms-excel
Content-Disposition:attachment;filename="abc.xls"
Content-Length:14

我建议您在尝试实施协议之前研究相关标准。在这种情况下,这是 HTTP 标准(RFC 7230 和遵循 RFC)和“在 Content-Disposition Header 字段中的使用 超文本传输​​协议 (HTTP)”(RFC 6266)。