无法将POST文本文件卷曲到localhost

时间:2017-08-09 13:18:00

标签: php python file curl post

我在localhost上有一个正常运行的烧瓶服务器,它通常在测试服务简单的python词典时提供GET和POST请求。 现在我正在尝试使用下面的PHP脚本上传和读取文本文件的内容(文件和脚本都在同一个Windows目录中):

<?  
    /*testscript.php*/  

    $url='http://localhost/transaction'
    $ch = curl_init($url);
    $cfile = new CURLFile('sampledata.txt','text/plain','data_file');
    $data = array('test_file' => $cfile);
    curl_setopt($ch, CURLOPT_POST,1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);   
    curl_exec($ch);

?>

我的烧瓶服务器代码在views.py

@app.route('/transaction', methods=['POST'])
def read_file():
    if request.headers['Content-Type'] == 'text/plain':
        return "Text Message: " + request.data

然后我启动了flask服务器,它显示了(run.py是FLASK_APP变量):

* Serving Flask app "run"
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) 

接下来,当我在浏览器中输入/localhost/testscript.php时,出现以下错误:

enter image description here

1 个答案:

答案 0 :(得分:1)

您正在端口5000上运行您的python服务,您需要将要在CURL上使用的URL更改为:

$url='http://127.0.0.1:5000/transaction'