php - 如何发送下一个 GET 请求?
问题描述
通过浏览器发送请求(200),
但是通过PHP失败(没有数据),如何正确发送?
$opts = array(
'http'=>array(
'method'=>"GET",
'proxy'=>"$proxy",
'header'=> "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:51.0) Gecko/20100101 Firefox/51.0".
"Accept-Encoding: gzip, deflate".
"Accept: */*"
));
$context = stream_context_create($opts);
$url2 = "http://50.7.195.2:25461/live/***/***/6089.m3u8?token=HxZZBUsLRgMaAAAIUwpWAwcMCgUGWg8OAwBTCwBWVQFVDFBQXFoADFpEHBIRRkJRBFRnWVQbAw5VW18UFkdEABZrWAAaWUYNAVcCCEAeEkAMVF0SCgkVGhUKAhoOEAZVUw0CRhRBAUFMA0JeA15vUABPUVNVGwNWEA8KFBZdWToAUVwFVgdGAxpWEhxAW0NERwMaeRB/WEsRLQNMFH5jIUYYEwZRFxZYTAMSCkADBw1XGxQSU1ZMVhERHxoOEHAnRhgTAUAXAVdLD19eQAgSWVZMABIcG1BLOhEDS0BAUgQJUUNGAkFUGxREXVEabVNbC1ddU0RQVlYWQVwaBRAbRwlbXw1MDBZmSA9UElgQAQNdDgsSTQ==";
$data = file_get_contents($url2, false, $context);
echo data;
解决方案
\r\n
每个标题后都缺少一些 EOL ( )。您的header
上下文现在是一个长连接字符串,而不是几个不同的标题。
将其更改为:
'header' => "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:51.0) Gecko/20100101 Firefox/51.0\r\n" .
"Accept-Encoding: gzip, deflate\r\n" .
"Accept: */*\r\n"
推荐阅读
- dart - 飞镖中的 Hmac sha1 和 base 64 编码
- c# - 在 Nunit 3.0 及更高版本中测试异常
- c++ - 如何用用户的输入填充二维数组?
- angular - 尝试更改为组件时出现 Angular 6+ 路由问题
- javascript - 等效于使用 React 钩子的 componentDidUpdate
- f# - 评估计算表达式值的列表
- kubernetes - Kubernetes 中 CPU 和 core 是什么意思?
- javascript - Dispatch is not a function in Server Side Rendering
- cordova - 找不到插件“cordova-plugin-ionic”的 plugin.xml。请尝试重新添加
- azure-data-factory-2 - 从 Azure 数据工厂日志中提取数据