doujiang1832 2016-12-29 20:52
浏览 65
已采纳

在PHP中分离响应和标头

The content returned to me from URL is:

53 GMT    
Vary: Accept-Encoding,User-Agent    
Connection: close    
HTTP_X_PP_AZ_LOCATOR: sandbox.slc    
Paypal-Debug-Id: 6966608696d9    
Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.WEB.1%26silo_version%3D1880%26app%3Dappdispatcher%26TIME%3D2239325528%26HTTP_X_PP_AZ_LOCATOR%3Dsandbox.slc; Expires=Thu, 29 Dec 2016 21:30:53 GMT; domain=.paypal.com; path=/; Secure; HttpOnly    
Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT    
Strict-Transport-Security: max-age=14400    
Transfer-Encoding: chunked    
Content-Type: text/html; charset=UTF-8  


8

VERIFIED

0

I only want to get verified response from it and remove other content. I searched and people recommended using list, but in my case when I used list, the response was empty while header had all the content. Any suggestions? And what are these 2 numbers 8 and 0 referring to?

  • 写回答

1条回答 默认 最新

  • duanqinqiao4844 2016-12-29 21:14
    关注

    So looking closer, I see the headers are separated from the body by 4 newlines... For some odd reason, your newlines are doubled everywhere...

    To get the response body, you could use a regular expression:

    if(preg_match('/^[\w\W]+?[
    ]{4}([\w\W]+)$/', $response, $matches)) $response_body = $matches[1];
    

    As to what those numbers are exactly, I could not tell you. That would hopefully be explained by whoever you are requesting the URL from... In that body, there's no standard, anyone can return anything in any way they like...

    Hope this helps!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?