curl_init做接口比较卡,应该怎么优化,或者用什么其他方法,求代码,php的

暁悠 2017-01-08 12:49:59
curl_init做接口比较卡,应该怎么优化,或者用什么其他方法,求代码,php的
...全文
278 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhongxiangjinn 2017-01-10
  • 打赏
  • 举报
回复
用node.js吧, 换成IP地址试试,第一点就是说排查DNS解析的问题。CURL一般问题不大,毕竟现在很多采集都在使用,相对的DNS或者IPV6这方面灵异事件比较多。 有时cURL请求第三方接口慢,导致阻塞 解决方法:服务器并发太多?虚拟空间? 如果实在找不到原因可以考虑异步申请第三方账号,用户注册后立刻返回结果,然后偷偷搞点小动作 再或者 检查缓存接口内容 提升B接口的运算速度 优化网络环境 我再补充个: 如果一次请求过程中调用curl的次数太多(我就见过一次请求调上百次接口的),可以考虑修改项目B的接口,提供一次调用就搞定的接口。 祝你成功 哈哈哈
qq_37298493 2017-01-09
  • 打赏
  • 举报
回复
多线程试试吧
傲雪星枫 2017-01-08
  • 打赏
  • 举报
回复
卡的意思是返回慢,但返回的数据是对的? 如果是这样,一般是网络问题。 可以使用tracert(window),traceroute(linux) 来查询那里慢,输出*的表示防火墙,可以不用理会。 例如:

tracert www.baidu.com

Tracing route to www.a.shifen.com [14.215.177.37]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  192.168.5.1
  2    19 ms    20 ms    29 ms  100.64.0.1
  3    20 ms    20 ms    23 ms  113.98.82.249
  4    69 ms    32 ms    23 ms  61.140.98.253
  5    24 ms    23 ms    23 ms  113.108.208.42
  6     *        *        *     Request timed out.
  7    49 ms    25 ms    26 ms  14.29.121.182
  8     *        *        *     Request timed out.
  9    24 ms    25 ms    24 ms  14.215.177.37

Trace complete.

C:\Documents and Settings\Administrator>
暁悠 2017-01-08
  • 打赏
  • 举报
回复
function doCurls($url, $data=array(), $header=array(), $timeout=30){

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
        curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);

        $response = curl_exec($ch);

        if($error=curl_error($ch)){
            die($error);
        }

        curl_close($ch);

        return $response;
    }
求解答

21,881

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧