Laravel x Flask-客户端错误:`POST http://127.0.0.1:5000 / run`导致`400 BAD REQUEST`响应:

时间:2020-04-14 01:26:54

标签: python php laravel flask guzzle

我有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,则完全没有问题

enter image description here

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上,它却像永无休止的故事一样加载...

0 个答案:

没有答案