【问题标题】:unable to read PHP cURL result. var_dump works, but unable to pass it to variable无法读取 PHP cURL 结果。 var_dump 有效,但无法将其传递给变量
【发布时间】:2022-12-09 04:35:00
【问题描述】:

我有读取远程 json 数据的 cURL 函数。它适用于许多服务器,但现在我需要在一个特定的网站上使用它,并且它不会将数据传递给变量。我仍然可以 var_dump 它或者只是简单地回显它,它会将我发送到那个网站。

这是我的远程服务器端代码(这里很简单):

<?php echo json_encode(['test'=>'test']);?> 

这是我的接收端:

<?php    
        $ch = curl_init();
        $curlConfig = array(
            CURLOPT_URL            => 'http://binance99.unaux.com/index.php',
            CURLOPT_RETURNTRANSFER => true
        );
        curl_setopt_array($ch, $curlConfig);
        $r = curl_exec($ch);
        curl_close($ch);
        print_r(json_decode($r));
?>

$r 中没有任何内容,如果我使用 var_dump($r) 它会将我重定向到 http://binance99.unaux.com/index.php

我尝试了 CURLOPT_HEADER => false,我也尝试了远程网站的 SSL 版本,但没有成功。

我也试过 file_get_contents() 有同样的结果。

任何帮助,将不胜感激!

【问题讨论】:

  • 您是否尝试过使用 curl_error() 检查任何错误并查看使用 curl_getinfo 收到的信息?
  • “$r 里什么都没有”- 这不可能是真的。输出那个“什么都没有”,那么不可能将你重定向到任何地方。“如果我 var_dump($r) 它会将我重定向到......”- JSON 实际上也不能将您“重定向”到任何地方。因此,这更加表明,您实际上并没有取回 JSON - 但可能是一些 HTML,其中包含通过 JS 或 meta 元素进行的重定向。如果您传递无效的 JSON,json_decode 将返回 null。
  • 没有得到 curl_error() 我确实得到了 curl_info() 结果:附上它作为问题的答案

标签: php curl header


【解决方案1】:

这是 curl_info() 结果

Array
    (
        [url] => http://binance99.unaux.com/index.php
        [content_type] => text/html
        [http_code] => 200
        [header_size] => 229
        [request_size] => 83
        [filetime] => -1
        [ssl_verify_result] => 0
        [redirect_count] => 0
        [total_time] => 0.110328
        [namelookup_time] => 5.3E-5
        [connect_time] => 5.3E-5
        [pretransfer_time] => 0.000107
        [size_upload] => 0
        [size_download] => 855
        [speed_download] => 7772
        [speed_upload] => 0
        [download_content_length] => 855
        [upload_content_length] => -1
        [starttransfer_time] => 0.11028
        [redirect_time] => 0
        [redirect_url] => 
        [primary_ip] => 185.xx.xx.xx
        [certinfo] => Array
            (
            )
    
        [primary_port] => 80
        [local_ip] => xx.xx.xx.xx
        [local_port] => 51282
        [http_version] => 2
        [protocol] => 1
        [ssl_verifyresult] => 0
        [scheme] => HTTP
        [appconnect_time_us] => 0
        [connect_time_us] => 53
        [namelookup_time_us] => 53
        [pretransfer_time_us] => 107
        [redirect_time_us] => 0
        [starttransfer_time_us] => 110280
        [total_time_us] => 110328
    )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多