PHP Using cURL and GET request in URL

做~自己de王妃 提交于 2019-12-07 03:15:14

问题


I am using cURL instead of file_get_contents, which is working fine on the URL until I used a GET request variable in place of the city on the URL below.

Using cURL on the following: (Works)

$url = 'http://www.weather-forecast.com/locations/London/forecasts/latest';

This works fine, however when substituting 'London' with a variable $city:

URL: example.com/weather.php?city=London

$city = $_GET['city'];
$city = ucwords($city); 
$city = str_replace(" ", "", $city);

$url = 'http://www.weather-forecast.com/locations/".$city."/forecasts/latest';

I get an error: The page you are looking for doesn't exist (404)

What am I doing wrong in my cURL function? This seems to work perfectly with file_get_contents, is there something I am missing?

cURL function

function curl_get_contents($url)
{
$ch = curl_init();
$timeout = 5;

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

$data = curl_exec($ch);

curl_close($ch);

return $data;
}

$contents = curl_get_contents($url);
echo $contents;

回答1:


Please replace double quotes with single quotes in url,

$url = 'http://www.weather-forecast.com/locations/'.$city.'/forecasts/latest';


来源:https://stackoverflow.com/questions/29454540/php-using-curl-and-get-request-in-url

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!