通过HTML或服务器上传到Python cgi脚本的文本数量是否有限制?
我正在尝试通过网页上传5,000个十位数的列表(以模拟网络分析中使用的电话号码列表)到我的CGI脚本进行处理。但客户端 - 服务器关系不可靠。有时CGI脚本会收到所有5,000个号码,但有时只收到其中的一部分。服务器和CGI脚本都不会引发异常:CGI脚本只认为只发送了2,800个(或其他)项目,而不是实际发送的5,000个项目。
我无法弄清楚是什么导致了这种情况发生。当我将网页上的输入方法更改为输入type ='textarea'并仅剪切并粘贴数据时,会出现相同的不可预测性。我已经尝试在CGI脚本等各个地方添加time.sleep()暂停,但似乎没有任何正面或负面影响它。我每次都使用相同的样本数据集。
客户端和服务器都在我的笔记本电脑上(127.0.0.1:80),服务器上没有其他任何东西在运行。下面粘贴了服务器代码,HTML前端和CGI脚本。我很感激任何见解!
#SERVER#
#!python3
import os, sys
from http.server import HTTPServer, CGIHTTPRequestHandler
webdir = 'C:\(...)\webapps'
port = 80
os.chdir(webdir)
srvraddr = ("", port)
srvrobj = HTTPServer(srvraddr, CGIHTTPRequestHandler)
srvrobj.serve_forever()
print('ready to go')
<!--HTML FRONT END-->
<html>
<title>Interactive Page</title>
<body>
<p>
<form method=POST action = 'cgi-bin/cgi101_Jan.py' enctype="multipart/form-data">
<p>Select a file:
<input type = file name = upFile>
<p><input type = submit>
</form>
</body>
#CGI SCRIPT#
#!python3
import cgi
import cgitb
cgitb.enable()
form = cgi.FieldStorage()
upFile = form['upFile'].file
print('Content-type: text/html\n')
print('<title>Reply Page</title>')
fh = upFile.readlines()
for line in fh:
print(str(line)+'<br>')