【问题标题】:Empty or too short HTTP message using HTTPRequest使用 HTTPRequest 的空或太短的 HTTP 消息
【发布时间】:2013-11-28 23:57:08
【问题描述】:

我有一个应用程序响应带有文件的 POST 请求:

https://docxgenjs.herokuapp.com/

它只是回显(以 JSON 格式)发布到该 URL 的文件。

您可以使用 REST 控制台(在 chrome 网上商店)对其进行测试。

但是,当我使用 PHP 请求该页面时,它不起作用:

try { 
    $url = 'https://docxgenjs.herokuapp.com/';
    $request = new HTTPRequest($url, HTTP_METH_POST); 
    $request->addPostFile("config",app_path()."\\docxgen\\config.json"); 
    $request->addPostFile("docx",app_path()."\\docxgen\\tagExample.docx"); 
    $request->send();
    $response = $request->getResponseBody();
    var_dump($response);
} 
catch(Exception $e) 
{
    var_dump($e->getMessage()); var_dump($e->getCode());
}

我得到以下异常:

string(35) "Empty or too short HTTP message: ''"
int(2)                                          

这两个 POST 请求有什么不同,我该如何解决?

如果我删除这两行:

$request->addPostFile("config",app_path()."\\docxgen\\config.json"); 
$request->addPostFile("docx",app_path()."\\docxgen\\tagExample.docx"); 

他们也不例外,服务器的响应是预期的响应{}

【问题讨论】:

  • 您确定 addPostFile 路径正确吗?
  • 哦,你说得对,路径必须用普通斜杠/

标签: php post file-upload httprequest


【解决方案1】:

问题是路径必须使用/ 而不是\\ 编写

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    相关资源
    最近更新 更多