如何在不使用PHP重新加载页面的情况下调用API?

时间:2013-02-11 04:32:51

标签: php api

我希望调用Twitter API来获取推文(在加载时成功实现推文)但现在我希望自动更新页面,允许推文自动加载而无需重新加载/用户交互。

我知道这种类型的功能是可行的(monitter.com)可以做到,但是这样做的技术是什么?我可以用PHP做到吗?

由于

2 个答案:

答案 0 :(得分:1)

正如@ suresh.g所说,你可以使用AJAX。最简单的方法:使用jQuery

此外,您可以使用setInterval() javascript函数每10秒重新加载的iframe。用户不会重新加载整个页面,而是重新加载iframe。

另一种类型的技术是COMET或PUSH技术,但我认为你现在不需要它,但知道这件事很好;)

答案 1 :(得分:0)

使用curl

function curl_grab_page($url,$data,$secure="false",$ref_url="",$login = "false",$proxy = "null",$proxystatus = "false")

            {
                if($login == 'true') {
                    $fp = fopen("cookie.txt", "w");
                    fclose($fp);
                }
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
                curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");

                curl_setopt($ch, CURLOPT_TIMEOUT, 60);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
                if ($proxystatus == 'true') {
                    curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE);
                    curl_setopt($ch, CURLOPT_PROXY, $proxy);
                }
                curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);

                if($secure=='true')
                {
                    curl_setopt($ch, CURLOPT_SSLVERSION,3);
                }

                curl_setopt( $ch, CURLOPT_HTTPHEADER, array( 'Expect:' ) );


                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

                curl_setopt($ch, CURLOPT_URL, $url);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                curl_setopt($ch, CURLOPT_REFERER, $ref_url);
                curl_setopt($ch, CURLOPT_HEADER, TRUE);
                curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
                curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
                curl_setopt($ch, CURLOPT_POST, TRUE);
                curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
                ob_start();

                return curl_exec ($ch); // execute the curl command

                curl_getinfo($ch);
                ob_end_clean();
                curl_close ($ch);
                unset($ch);
            }

只需按照您想要设置的数据调用此函数它就可以为您完成所有事情,不要忘记在php.ini中设置curl

感谢