以下PHP示例是我在项目中遇到的简化模型。在此示例中,我使用了www.google.com,因此每个人都可以轻松地重现我的问题。真正的问题在于其他一些无法公开访问的网站,而且卷曲请求要复杂得多,但问题与此示例中的相同。
<?php
function process_request(){
$curl_Loc = curl_init();
curl_setopt($curl_Loc, CURLOPT_URL, "http://www.google.com/");
curl_setopt($curl_Loc, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($curl_Loc, CURLOPT_MAXREDIRS,1);
curl_setopt($curl_Loc, CURLOPT_RETURNTRANSFER, TRUE);
$response_Loc = curl_exec($curl_Loc);
curl_close($curl_Loc);
return $response_Loc;
}
$response = process_request();
echo $response;
?>
此脚本的问题在于它不会显示来自Google搜索页面的图片。此外,如果我尝试搜索某些内容,我会收到“404 not found”(此网址显示在地址栏中:http://localhost/search?ie=ISO-8859-2&hl=hr&source=hp&q=sdf&btnG=Google+pretra%BEivanje&gbv=2
)
如何解决这个问题?
答案 0 :(得分:0)
Problem with this script is that it does not show images from Google search page.
那是因为你没有搜索图像。
我修改了你的curl请求,搜索谷歌图片中的字符串test
,它正在运行。您可以使用DOM或其他解析器方法/库(如SimpleHTMLDom)来获取图像。
function process_request(){
$curl_Loc = curl_init();
curl_setopt($curl_Loc, CURLOPT_URL, "http://www.google.com/search?q=test&tbm=isch");
curl_setopt($curl_Loc, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($curl_Loc, CURLOPT_MAXREDIRS,1);
curl_setopt($curl_Loc, CURLOPT_RETURNTRANSFER, TRUE);
$response_Loc = curl_exec($curl_Loc);
curl_close($curl_Loc);
return $response_Loc;
}
$response = process_request();
echo $response;