我有2个由Laravel和Flask创建的系统
Laravel-http://127.0.0.1:8000/ 烧瓶-http://127.0.0.1:5000/
当我试图通过Guzzle将表单数据发布请求和文件从Laravel发送到Flask时,我收到了此错误消息。
"""
Client error: `POST http://127.0.0.1:5000/run` resulted in a `400 BAD REQUEST` response:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>400 Bad Request</title>
<h1>Bad Request</h1>
<p>The brows (truncated...)
"""
如果使用POSTMAN,则完全没有问题
Laravel代码
$client = new \GuzzleHttp\Client();
$options = [
'multipart' => [
[
'name' => 'file',
'contents' => file_get_contents(storage_path('app/public/config/'.$service->config, 'r' ))
],
[
'name' => 'service_id',
'contents' => $id
],
[
'name' => 'email',
'contents' => auth()->user()->email
]
]
];
$response = $client->post('http://127.0.0.1:5000/run', $options);
烧瓶代码
@app.route('/run', methods=['POST'])
def run():
service_id = request.form.get("service_id")
email = request.form.get("email")
file = request.files['file']
由于文件而发生错误消息。它存在但无法发送。
更新:我从file_get_contents
更改为fopen
。客户端Flask成功拦截了我的请求,但是在服务器端Laravel上,它却像永无休止的故事一样加载...