我正在尝试使用这个PHP脚本从bit.ly API获取缩短的链接..它工作正常,但我的问题是有任何方法可以使这个脚本更有效或从中获取一些不必要的部分。我的主要问题是,当我使用时:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
我必须在$ data上使用trim函数,但是当我使用:
时curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
我不必这样做..当我使用1代替true时,为什么在链接后导致换行?
<?php
function get_bitly_short_url($url, $format = 'txt')
{
$connectURL = 'http://api.j.mp/v3/shorten?login=(MY USERNAME)&apiKey=(MY API)&uri=' . urlencode($url) . '&format=' . $format;
return curl_get_result($connectURL);
}
function curl_get_result($url)
{
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$data = curl_exec($ch);
curl_close($ch);
return trim($data);
}
$short_url = get_bitly_short_url('http://google.com');
?>
答案 0 :(得分:1)
1!==在一般情况下是真的,但在你的情况下,应该没有区别, 仔细检查所有其他事情......
我为你做了简单的测试:
<?php
$url = 'http://ziptasticapi.com/92530';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$data = curl_exec($ch);
curl_close($ch);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$data1 = curl_exec($ch);
curl_close($ch);
var_dump($data);
echo "\n";
var_dump($data1);
结果:
string(52)“{”country“:”US“,”state“:”CA“,”city“:”LAKE ELSINORE“}”
string(52)“{”country“:”US“,”state“:”CA“,”city“:”LAKE ELSINORE“}”
所以,php中的错误发生了,但这次没有错误
没有区别,请检查系统的其他部分
运气!