如何回显curl命令中使用的url/如何使返回的汉字可读?

How to echo the url thats being used in curl command / How to make the returned Chinese characters readable?

  1. 我如何回显我用来从显示的数据中提取url数据的url?

  2. 我的服务器无法正确显示此 curl 中的汉字,我该如何解决?

function mobile_number(){

        $tel = isset($_GET['tel'])?$_GET['tel']:’';

        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, 'https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=' . $tel);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $resp = curl_exec($curl);


        print_r($resp); 
    }

这是我得到的结果:

__GetZoneResult_ = { mts:'1357465', province:'����', catName:'�й��ƶ�', telString:'13574652375', areaVid:'30514', ispVid:'3236139', carrier:'�����ƶ�’ }

无论您使用什么查看结果,都有问题。

例如,如果您使用网络浏览器查看结果,那么问题是您没有告诉网络浏览器将其解释为 unicode,而您的浏览器试图将其解释为 ASCII 或一些东西,在这种情况下,解决方法是添加

header("Content-Type: text/plain;charset=utf-8"); 在脚本的顶部。

如果您正在使用终端..idk,也许尝试使用更好的终端? bash 也许吧?

PS,您容易受到第 6 行变量注入和变量损坏的攻击(例如,数字 +47123123 将转换为 47123123,+ 将丢失! ) 代码应该是

curl_setopt($curl, CURLOPT_URL, 'https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=' . urlencode($tel));