V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Cabana
V2EX  ›  问与答

python 新人求问 http.server 疑问

  •  
  •   Cabana · 2016-07-20 21:44:20 +08:00 · 1749 次点击
    这是一个创建于 3055 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用 http.server 包开一个服务
    在根目录 index.html 中的一个 a 标签:

    	<p><a href="cgi-bin/print.py">点我试试</a></p>
    

    在 chrome 浏览器中点开,就直接把 cgi-bin 目录下的 print.py 下载下来了。
    但是在 ie 中点开,就能正常返回的 print.py 中 print 出来的 html 内容。

    这是浏览器的锅吗?还是我姿势不对?

    第 1 条附言  ·  2016-07-21 09:44:53 +08:00
    目录
    ![]( )
    开启服务的 py
    ![]( )
    index.html
    ![]( )
    print.py
    ![]( )
    9 条回复    2016-07-21 15:00:23 +08:00
    zjb861107
        1
    zjb861107  
       2016-07-20 21:58:07 +08:00   ❤️ 1
    要直接下载一个文件,我们需要做两件事,
    第一件事是:设定响应的内容类为“ application/octet-stream ”,大小写无关。
    第二件事是:设置 HTTP 的响应头名字为: Content-Disposition ,设定值为: attachment; filename = theFileName 。这里的 theFileName 就是出现在文件下载对话框里的默认文件名,通常和所下载的文件名字相同,但也可以不同。


    可以参考这篇文章,再深入研究 http://blog.csdn.net/u013687821/article/details/42088773
    Cabana
        2
    Cabana  
    OP
       2016-07-20 22:16:23 +08:00 via Android
    @zjb861107 我的报文是写在 print.py 里 print 的内容里的,按理说应该响应的 raw 就是 print 的内容啊。
    seki
        3
    seki  
       2016-07-20 22:26:49 +08:00
    你的 print.py 里面放的是什么内容?让我们复现一下
    Cabana
        4
    Cabana  
    OP
       2016-07-20 23:00:14 +08:00 via Android
    @seki 就是直接 print 响应内容啊, response 的 raw
    seki
        5
    seki  
       2016-07-21 01:59:37 +08:00
    @Cabana ……如果可以的话还是把你的两个 py 代码都贴出来吧,或者说你用的哪一篇文章里的代码。你给的信息不足
    hanxiV2EX
        6
    hanxiV2EX  
       2016-07-21 08:37:47 +08:00 via iPhone
    哈哈哈!
    shyling
        7
    shyling  
       2016-07-21 08:48:22 +08:00
    content-type 。。。
    Cabana
        8
    Cabana  
    OP
       2016-07-21 09:45:49 +08:00
    @seki 把图都贴出来了
    seki
        9
    seki  
       2016-07-21 15:00:23 +08:00   ❤️ 1
    python 3.5
    执行起来没什么问题
    Chrome 51
    IE 11
    Firefox 49
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   7 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 21:53 · PVG 05:53 · LAX 13:53 · JFK 16:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.