我希望调用 Twitter API 来获取推文(加载时成功实现推文),但现在我希望自动更新页面,允许推文自动加载而无需重新加载/用户交互。
我知道这种类型的功能是可能的(monitter.com)可以做到,但是这样做的技术是什么?我可以用 PHP 做吗?
谢谢
正如@suresh.g 所说,您可以使用AJAX。最简单的方法:使用jQuery。
setInterval()
此外,您可以通过javascript 函数使用每 10 秒重新加载一次的 iframe 。用户不会重新加载他的整个页面,而是重新加载 twitter iframe。
另一种技术是COMET或 PUSH 技术,但我认为你现在不需要它,但了解它是件好事;)
使用卷曲
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
谢谢