file_get_contents - 获得真正完整的HTTP答案(不仅仅是标题)

时间:2017-06-05 09:34:07

标签: php http

我正在尝试通过调用 file_get_contents 函数获得完整的HTTP回答。我正在进行 HTTP POST 调用,将凭据登录到我的网站,处理一些工作,然后将HTTP回复返回给调用者。
凭据不好时,我发送 HTTP 403 返回代码,并显示如下消息(原始HTTP响应如 SoapUI 所示):

404 error

在php中调用file_get_contents之后如何才能在底部获取消息?消息不在标题中,因此 $ http_response_header将无效。有办法吗?

3 个答案:

答案 0 :(得分:1)

你可以创建一个HTTP stream context来与file_get_contents()一起使用,然后调用stream_get_meta_data()但我个人只会使用Curl CURLOPT_HEADER=true

请注意,由于服务返回的是403而不是401,因此您需要使用Cookie(如果可能的话)进行身份验证。为此你需要卷曲。

答案 1 :(得分:0)

HTTP响应正文应该用空行隔开标题:https://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html

然后,For Each itm In ComboBox1.List 'for example display in messagebox MsgBox itm Next 调用后身体应该可用。

答案 2 :(得分:0)

返回HTTP错误代码(4XX或5XX)时,需要HTTP上下文选项ignore_errors来获取页面的内容正文。