http.client得到404错误

时间:2016-11-23 23:28:08

标签: python apache python-3.x

我正在尝试使用python中的http.client从cgi文件发出GET请求,但我仍然获得404状态代码。

该文件是可访问的,可执行的,我可以使用浏览器访问,但使用python客户端我得到404代码。

我的代码:

conn = client.HTTPConnection(args.domain)
conn.request('GET', '/cgi_bin/cgi.py', headers={
    'Connection': "Keep-Alive",
    'Accept': ' text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
})
status = conn.getresponse().status
conn.close()

cgi测试文件:

#!/usr/bin/env python3
print("Content-Type: text/html;charset=utf-8\n\ntest_cgi")

当我使用资源管理器时,我得到正确的响应(test_cgi)和200 OK,但是当我使用http.client时,apache2会抛出404状态。

apache日志访问:

127.0.0.1 - - [23/Nov/2016:04:20:25 -0400] "GET /cgi-bin/cgi.py HTTP/1.1" 200 210 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0"
127.0.0.1 - - [23/Nov/2016:04:20:37 -0400] "GET /cgi_bin/cgi.py HTTP/1.1" 404 465 "-" "-"

知道为什么会这样吗?

0 个答案:

没有答案