2019-06-14 13:55 阅读 679

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

  1. How could I echo the url that I use to curl data from along with the data showed?

  2. My server does not display the Chinese characters properly from this curl, How can I fix it?

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);


This the result I get back:

__GetZoneResult_ = { mts:'1357465', province:'����', catName:'�й��ƶ�', telString:'13574652375', areaVid:'30514', ispVid:'3236139', carrier:'�����ƶ�’ }
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • 已采纳
    duanjia4817 duanjia4817 2019-06-14 15:54

    it's a problem with whatever you're using to view the results.

    for example, if you're using a web browser to view the results, then the problem is that you're not telling the web browser to interpret it as unicode, and your browser try to interpret it as ASCII or something, in which case the fix is to add

    header("Content-Type: text/plain;charset=utf-8"); at the top of your script.

    if you're using a terminal.. idk, maybe try using a better terminal? bash maybe?

    PS, you're vulnerable to variable injection and variable corruption on line 6 (for example the number +47123123 would be converted to 47123123, the + would be lost!) the code should be

    curl_setopt($curl, CURLOPT_URL, 'https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=' . urlencode($tel));
    点赞 评论 复制链接分享