> 백엔드 개발 > PHP 튜토리얼 > 把curl回来的cookies处理成数组

把curl回来的cookies处理成数组

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-13 13:00:34
원래의
1269명이 탐색했습니다.

把curl返回的cookies处理成数组
目的只是将Curl返回的Header里面的Cookies转化成数组和获取Location

例子:
……
Cache-Control: private,no-cache="set-cookie"
Expires: -1
Pragma: no-cache
Location: http://example.com/
Set-Cookie: B=1; Path=/
Set-Cookie: C=5; Path=/
Set-Cookie: R=5; Path=/
转成
array("B" => "1","C" => "5","R" => "5" )
并取出 Location 为 $l="http://example.com/";

谢谢了
------解决方案--------------------

$s = <<< TXT<br />
Cache-Control: private,no-cache="set-cookie"<br />
Expires: -1<br />
Pragma: no-cache<br />
Location: http://example.com/<br />
Set-Cookie: B=1; Path=/<br />
Set-Cookie: C=5; Path=/<br />
Set-Cookie: R=5; Path=/<br />
TXT;<br />
<br />
$res = array();<br />
foreach(preg_split("/[\r\n]+/", $s, -1, PREG_SPLIT_NO_EMPTY) as $row) {<br />
  switch($k = strtok($row, ':')) {<br />
    case 'Location':<br />
      $res[$k][] = trim(strtok(''));<br />
      break;<br />
    case 'Set-Cookie':<br />
      $res[$k][trim(strtok('='))] = trim(strtok(';'));<br />
      break;<br />
  }<br />
}<br />
print_r($res);
로그인 후 복사
Array
(
    [Location] => Array
        (
            [0] => http://example.com/
        )

    [Set-Cookie] => Array
        (
            [B] => 1
            [C] => 5
            [R] => 5
        )

)

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿