我使用此函数来创建HTTP请求,并成功获取响应的主体:
function SendRequest($url, $method, $data, $headers){
$context = stream_context_create(array
(
'http' => array(
'method' => $method,
'header' => $headers,
'content' => $data
)
));
return file_get_contents($url, false, $context);
}
但我需要一种方法来获取整个HTTP响应(包括标题)! 两者都是出于调试和实际原因。
例如,假设我发出登录webservice的请求,并且在响应中有一个会话cookie。这样我就无法得到它。
*如果可能的话,如果有办法记录请求进行重新布局,那就太好了。
答案 0 :(得分:0)
查看stream_get_meta_data()功能。对于http流,它将在wrapper_data
2
答案 1 :(得分:0)
我找到了一种方法,可以使用$http_response_header。
function SendRequest($url, $method, $data, $headers) {
$context = stream_context_create(array
(
'http' => array(
'method' => $method,
'header' => $headers,
//'content' => http_build_query($data)
'content' => $data
)
));
$response_body = file_get_contents($url, false, $context);
//var_dump($http_response_header);
return array(
'headers' => $http_response_header,
'body' => $response_body
);
}
* $ http_response_header将在本地范围内创建