首页 > 解决方案 > 如何发送下一个 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;

标签: php

解决方案


\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"

推荐阅读