大家好,我想做一個接受query加一個pdf的python api:
這是我的主要代碼:
app = Flask(__name__)
@app.route('/')
def index():
app.logger.info("Receiving a request")
if (request.method == "POST"):
query = request.args.get("query")
file = request.files['file']
app.logger.info(query)
app.logger.info(file.name)
if not file or not query:
raise Exception("Missing doc or query")
return “success”
return "hihi"
這是我的簡單測驗代碼
url = 'http://localhost:5000?query="How is the stock price"'
files = {'{檔案地址}', 'rb')}
print(files)
r = requests.post(url, files)
data = r.text
print(r)
這個是flask給的log:
* Serving Flask app "app"
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
02/07/2021 16:21:15 - INFO - faiss - Loading faiss.
02/07/2021 16:21:19 - INFO - werkzeug - * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
02/07/2021 16:21:22 - INFO - werkzeug - 127.0.0.1 - - [07/Feb/2021 16:21:22] "POST /?query=%22How%20is%20the%20stock%20price%22 HTTP/1.1" 405 -
這個是報錯
Traceback (most recent call last):
File "/Users/chaozy/opt/anaconda3/lib/python3.8/site-packages/urllib3/connectionpool.py", line 670, in urlopen
httplib_response = self._make_request(
File "/Users/chaozy/opt/anaconda3/lib/python3.8/site-packages/urllib3/connectionpool.py", line 392, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/Users/chaozy/opt/anaconda3/lib/python3.8/http/client.py", line 1240, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/Users/chaozy/opt/anaconda3/lib/python3.8/http/client.py", line 1286, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/Users/chaozy/opt/anaconda3/lib/python3.8/http/client.py", line 1235, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/Users/chaozy/opt/anaconda3/lib/python3.8/http/client.py", line 1045, in _send_output
self.send(chunk)
File "/Users/chaozy/opt/anaconda3/lib/python3.8/http/client.py", line 967, in send
self.sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/chaozy/opt/anaconda3/lib/python3.8/site-packages/requests/adapters.py", line 439, in send
resp = conn.urlopen(
File "/Users/chaozy/opt/anaconda3/lib/python3.8/site-packages/urllib3/connectionpool.py", line 724, in urlopen
retries = retries.increment(
File "/Users/chaozy/opt/anaconda3/lib/python3.8/site-packages/urllib3/util/retry.py", line 403, in increment
raise six.reraise(type(error), error, _stacktrace)
File "/Users/chaozy/opt/anaconda3/lib/python3.8/site-packages/urllib3/packages/six.py", line 734, in reraise
raise value.with_traceback(tb)
File "/Users/chaozy/opt/anaconda3/lib/python3.8/site-packages/urllib3/connectionpool.py", line 670, in urlopen
httplib_response = self._make_request(
File "/Users/chaozy/opt/anaconda3/lib/python3.8/site-packages/urllib3/connectionpool.py", line 392, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/Users/chaozy/opt/anaconda3/lib/python3.8/http/client.py", line 1240, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/Users/chaozy/opt/anaconda3/lib/python3.8/http/client.py", line 1286, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/Users/chaozy/opt/anaconda3/lib/python3.8/http/client.py", line 1235, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/Users/chaozy/opt/anaconda3/lib/python3.8/http/client.py", line 1045, in _send_output
self.send(chunk)
File "/Users/chaozy/opt/anaconda3/lib/python3.8/http/client.py", line 967, in send
self.sock.sendall(data)
urllib3.exceptions.ProtocolError: ('Connection aborted.', BrokenPipeError(32, 'Broken pipe'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/chaozy/Desktop/CS/UCL_Year2/COMP0016/COMP0016_2020_21_Team8/test/testQA/testQAFunctions.py", line 10, in <module>
r = requests.post(url, files)
File "/Users/chaozy/opt/anaconda3/lib/python3.8/site-packages/requests/api.py", line 119, in post
return request('post', url, data=https://bbs.csdn.net/topics/data, json=json, **kwargs)
File "/Users/chaozy/opt/anaconda3/lib/python3.8/site-packages/requests/api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "/Users/chaozy/opt/anaconda3/lib/python3.8/site-packages/requests/sessions.py", line 530, in request
resp = self.send(prep, **send_kwargs)
File "/Users/chaozy/opt/anaconda3/lib/python3.8/site-packages/requests/sessions.py", line 643, in send
r = adapter.send(request, **kwargs)
File "/Users/chaozy/opt/anaconda3/lib/python3.8/site-packages/requests/adapters.py", line 498, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', BrokenPipeError(32, 'Broken pipe'))
請各位大神幫忙看看是什么問題?謝謝大家了!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/258290.html
標籤:其他
上一篇:如果開一個下載軟體的網站,需要怎么測算流量?帶寬以及服務器的配置?
下一篇:爬蟲問題
