有沒有某種方法可以故意強制Perl CGI腳本返回沒有Content-type頭部的HTTP響應?這是爲了測試一個查找各種格式不正確標題的診斷爬蟲。強制使用沒有內容類型的HTTP響應?
我已經得到最接近的是這樣的:
#!/usr/bin/perl
print "Status: 200 OK\r\n";
print "Content-type:\r\n";
print "\r\n";
print "Message body goes here.\r\n";
這會產生以下反應:
HTTP/1.1 200 OK
Date: Mon, 13 Jan 2014 23:17:23 GMT
Server: Apache/2.2.14 (Ubuntu)
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type:
Content-Length: 25
Message body goes here.
但內容類型仍然被定義,它只是有「」的值。我真的需要生成一個沒有內容類型的響應。
當我刪除,打印內容類型的線路:
#!/usr/bin/perl
print "Status: 200 OK\r\n";
print "\r\n";
print "Message body goes here.\r\n";
然後頭被自動添加:
HTTP/1.1 200 OK
Date: Mon, 13 Jan 2014 23:19:00 GMT
Server: Apache/2.2.14 (Ubuntu)
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/plain
Content-Length: 25
Message body goes here.
是否有某種方式來繞過這種行爲?理想情況下,我希望將其作爲在正常配置的Apache服務器上運行的Perl腳本來完成。如果這是不可能的,是否有其他方法,也許使用不同的語言/服務器/配置?
謝謝。這個過濾器很好地解決了這個問題,它看起來會解決一些我已經放棄的與測試有關的其他問題。這就像是瑞士軍刀,用於模擬服務器問題。 – plasticinsect