【问题标题】:Unable to curl POST textfile to python flask server on localhost无法将 POST 文本文件卷曲到本地主机上的 python 烧瓶服务器
【发布时间】:2017-08-09 13:18:00
【问题描述】:

我在本地主机上有一个正常工作的烧瓶服务器,当测试为简单的 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

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

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

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

【问题讨论】:

  • 你的意思是:localhost/testscript.php 对吗?你有 .htaccess 文件吗?
  • @GustavoJantsch 是 localhost/testscript.php。我不确定我是否有.htaccess。这是必需的吗?
  • 您可以在文档根目录中使用ls -al 进行检查。另外,您是否尝试过在http://localhost/ 上列出内容?
  • 查了一下,里面也没有.htaccess

标签: php python file curl post


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2017-05-02
    • 1970-01-01
    • 2017-09-18
    • 2013-06-24
    • 1970-01-01
    • 2020-08-22
    • 2020-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多