[php]如何从具有相同文件名的标题块中获取特定标题?

我想在请求发布后从最后两个 set-cookie 标头中获取 sid 的值。

sid=20076232_f83094c0b2cd89e6e2ee92cdc23eb36c; 这就是我需要的。

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
); 

}

get_headers()函数返回一个数组,但不能通过索引号访问它。有时是随机的

响应头看起来像这样

HostName: *.*.2.111
Set-Cookie: nickname=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/;

Set-Cookie: sid=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/;

Set-Cookie: nickname=%25E4%25B8%2580%25E8%2591%2589%25E9%2580%2599%25E5%25A4%25A9; expires=Mon, 22-Oct-2018 13:44:14 GMT; Max-Age=2592000; path=/

Set-Cookie: sid=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/

Set-Cookie: sid=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/; 

Set-Cookie: nickname=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/; 

Set-Cookie: nickname=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/

Set-Cookie: sid=20076232_f83094c0b2cd89e6e2ee92cdc23eb36c; expires=Mon, 22-Oct-2018 13:44:14 GMT; Max-Age=2592000; path=/
Transfer-Encoding: chunked
X-Powered-By: PHP/5.5.38-pl0-gentoo
马里奥

您可以简单地过滤get_headersusing的输出preg_grep

#                        ↓↓ hex ↓↓
$sids = preg_grep("/sid=([\d_a-f]+);/", $headers);

然后用于preg_match提取最后一个有效 id。或者简单地将标题内爆为一个文本 blob,并提取第一个匹配项(看到只有一个)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

复制具有特定标题的文件

来自分类Dev

如何将所有文件移动(或复制)到具有相同文件名前缀的目录中?

来自分类Dev

如何将所有文件移动(或复制)到具有相同文件名前缀的目录中?

来自分类Dev

从bash-scipt中具有相同文件名的不同文件夹中加载多个文件

来自分类Dev

获取FooterRow(gridview)中具有特定标题文本的单元格数

来自分类Dev

如何合并密钥,或处理具有相同文件名的密钥?

来自分类Dev

在C#中获取具有指定标题的XElement

来自分类Dev

在python中搜索具有相同文件名的所有文件的最有效方法

来自分类Dev

使用cmd批处理查找具有相同文件名的所有文件

来自分类Dev

上载到具有相同文件名的S3后立即刷新CDN中的图像

来自分类Dev

从具有相同文件名的venv文件夹导入

来自分类Dev

从具有相同文件名的venv文件夹导入

来自分类Dev

使进程读取具有相同文件名的其他文件

来自分类Dev

如何从DryWetMidi库中的MIDI文件的特定块中获取程序/乐器标题?

来自分类Dev

如何从具有特定类名的特定标签中获取文本值?

来自分类Dev

使用工作簿的文件名查找具有相同文件名Excel VBA的图像

来自分类Dev

创建具有特定标题的vector3

来自分类Dev

如何比较2个具有相同文件名的文件列表(扩展名a除外)仅匹配shell脚本

来自分类Dev

获取有关特定标题的图像的API

来自分类Dev

筛选具有特定标题名称并在列中包含“ 1”的行

来自分类Dev

移动具有不同文件名的文件

来自分类Dev

移动具有不同文件名的文件

来自分类Dev

写入具有不同文件名的单独文件

来自分类Dev

如何将具有特定扩展名的相同文件复制到终端中的另一个目录

来自分类Dev

连接具有相同标题的多个文件

来自分类Dev

连接具有相同标题的多个文件

来自分类Dev

由于有人在不同的JAR中创建具有相同文件名的Java文件,因此在运行时防止ClassNotFoundException

来自分类Dev

删除所有以特定标题开头的文件

来自分类Dev

Bash脚本处理文件夹中的所有文件并将所有输出保存到具有相同文件名的不同文件夹中?

Related 相关文章

  1. 1

    复制具有特定标题的文件

  2. 2

    如何将所有文件移动(或复制)到具有相同文件名前缀的目录中?

  3. 3

    如何将所有文件移动(或复制)到具有相同文件名前缀的目录中?

  4. 4

    从bash-scipt中具有相同文件名的不同文件夹中加载多个文件

  5. 5

    获取FooterRow(gridview)中具有特定标题文本的单元格数

  6. 6

    如何合并密钥,或处理具有相同文件名的密钥?

  7. 7

    在C#中获取具有指定标题的XElement

  8. 8

    在python中搜索具有相同文件名的所有文件的最有效方法

  9. 9

    使用cmd批处理查找具有相同文件名的所有文件

  10. 10

    上载到具有相同文件名的S3后立即刷新CDN中的图像

  11. 11

    从具有相同文件名的venv文件夹导入

  12. 12

    从具有相同文件名的venv文件夹导入

  13. 13

    使进程读取具有相同文件名的其他文件

  14. 14

    如何从DryWetMidi库中的MIDI文件的特定块中获取程序/乐器标题?

  15. 15

    如何从具有特定类名的特定标签中获取文本值?

  16. 16

    使用工作簿的文件名查找具有相同文件名Excel VBA的图像

  17. 17

    创建具有特定标题的vector3

  18. 18

    如何比较2个具有相同文件名的文件列表(扩展名a除外)仅匹配shell脚本

  19. 19

    获取有关特定标题的图像的API

  20. 20

    筛选具有特定标题名称并在列中包含“ 1”的行

  21. 21

    移动具有不同文件名的文件

  22. 22

    移动具有不同文件名的文件

  23. 23

    写入具有不同文件名的单独文件

  24. 24

    如何将具有特定扩展名的相同文件复制到终端中的另一个目录

  25. 25

    连接具有相同标题的多个文件

  26. 26

    连接具有相同标题的多个文件

  27. 27

    由于有人在不同的JAR中创建具有相同文件名的Java文件,因此在运行时防止ClassNotFoundException

  28. 28

    删除所有以特定标题开头的文件

  29. 29

    Bash脚本处理文件夹中的所有文件并将所有输出保存到具有相同文件名的不同文件夹中?

热门标签

归档