“返回”;空";通过PHP从端点
朋友们,我遇到了通过PHP返回端点的问题 在POSTMAN中,它正常工作,浏览器也正常 问题在哪里“返回”;空";通过PHP从端点,php,curl,browser,postman,Php,Curl,Browser,Postman,朋友们,我遇到了通过PHP返回端点的问题 在POSTMAN中,它正常工作,浏览器也正常 问题在哪里 $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "https://api.bcb.gov.br/dados/serie/bcdata.sgs.4390/dados", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING =
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.bcb.gov.br/dados/serie/bcdata.sgs.4390/dados",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Authorization: Basic YXRoZW5hc3g6QHRoZW5hc1g=",
"Cookie: cookie_p=!scLarubhqjnExZBkmDwhOLi4iPSDyREMccf7/KajFSUEMTzB5Ayusi5+tGpJHXS2/gAiOR1B3EXRVmA=; TS01799025=0198c2d644c9f142b44ab6191be6416ca09c966281b4eac2e338095e981a329beb85787a3328474ab13c2f09d86baa6627e734caa34ceb49d8e51f2f880c249de254c0daa1"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Thanx来自postman and browser它正在工作,因为您正在通过https安全连接加载代码和文件。如果您在http或本地主机上执行此操作,则必须添加
CURLOPT_SSL\u VERIFYPEER=>false
和CURLOPT_USERAGENT=>“Mozilla/4.0(兼容;MSIE 6.0;Windows NT 5.1;SV1;.NET CLR 1.0.3705;.NET CLR 1.1.4322)”
,以模拟浏览器并返回结果。
但是使用CURLOPT\u SSL\u VERIFYPEER=>false
并不是很聪明,而且会让您不安全,更多关于该选项和其他curl选项的信息,您可以在这里阅读
下面是我在localhost上测试的代码
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.bcb.gov.br/dados/serie/bcdata.sgs.4390/dados",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Authorization: Basic YXRoZW5hc3g6QHRoZW5hc1g=",
"Cookie: cookie_p=!scLarubhqjnExZBkmDwhOLi4iPSDyREMccf7/KajFSUEMTzB5Ayusi5+tGpJHXS2/gAiOR1B3EXRVmA=; TS01799025=0198c2d644c9f142b44ab6191be6416ca09c966281b4eac2e338095e981a329beb85787a3328474ab13c2f09d86baa6627e734caa34ceb49d8e51f2f880c249de254c0daa1"
),
// those 2 lines added
CURLOPT_USERAGENT => 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)',
CURLOPT_SSL_VERIFYPEER => false,
));
$response = curl_exec($curl);
curl_close($curl);
// decode response
$obj = json_decode($response);
// output result
var_dump($obj);