0
我正在使用CURL調用API。該調用返回一個HTML DOM樹,我在iframe中回顯。問題是,基地網址是指我自己的網站,而不是API的網站。例如:<script type="text/javascript" src="/swf/swfobject.js"></script>
將引用我的網站而不是API的。我已經看過CURL設置選項,但是我找不到我在找什麼,有人可以幫我嗎?我嘗試使用preg_replace工作,但我有很多不同的不可預知的鏈接。 (和它的方式骯髒的!)iframe中的PHP CURL更改基礎url?
代碼捲曲呼叫:
function CallAPI($method, $url, $data = false)
{
$curl = curl_init();
switch ($method)
{
case "POST":
curl_setopt($curl, CURLOPT_POST, 1);
if ($data)
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
break;
case "PUT":
curl_setopt($curl, CURLOPT_PUT, 1);
break;
default:
if ($data)
$url = sprintf("%s?%s", $url, http_build_query($data));
}
// Optional Authentication:
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
//curl_setopt($curl, CURLOPT_USERPWD, "username:password");
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
return curl_exec($curl);
}
$output = CallAPI($method, $url, $data);
echo $output;
HTML:
<iframe src="videorecorder.php" frameBorder="0" scrolling="no"></iframe>
請幫幫我!
感謝
謝謝,但它不是爲我工作。也許我做錯了什麼。我把這一行放在switch語句之後:'curl_setopt($ curl,CURLOPT_REFERER,「http://www.google.com」);'我仍然遇到這個錯誤'GET http://www.mywebsite.com/swf/ history/history.js 404(Not Found)'而不是google.com。 – user1081577 2013-04-24 11:27:16
你的問題並沒有指出你到底在做什麼。 – 2013-04-24 11:31:31
我正在調用一個API,它返回一個HTML頁面,我把它放在頁面上的iframe中。在他們的服務器上,某些CSS/JS文件的鏈接是這樣引用的:'src =「/ swf/swfobject.js'在我的iframe中使用的基礎href是我網站的基礎href,但是文件arn'在我的網站上,他們是在他們的!所以基礎href應該是一樣的API。那麼我如何使用或改變它到正確的基礎href? – user1081577 2013-04-24 12:08:19