我想在php代码中打开一个URL。
http://www.vendorsite.com/bulksms/bulksms?username=xxx&password=xxx&msg=xxx
file
和file_get_contents
给我带来了错误,因为没有允许http://包装,而cURL没有给我输出和超时。
我在其他网址上测试了cURL,它运行正常,只有这个供应商网址失败了。它在localhost上运行正常但在服务器上运行不正常。如果我直接在浏览器中打开URL它仍然有效。不知道为什么在服务器上它会保持超时。
$live_url = "http://www.vendorsite.com:8080/bulksms/bulksms?username=xxx&password=xxx&msg=xxx";
$parse_url = url_get_contents ($live_url);
function url_get_contents ($url) {
if (function_exists('curl_exec')){
$conn = curl_init();
curl_setopt($conn, CURLOPT_URL, $url);
curl_setopt($conn, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($conn, CURLOPT_FRESH_CONNECT, true);
curl_setopt($conn, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($conn, CURLOPT_PORT, 8080);
curl_setopt($conn, CURLOPT_HTTPHEADER, Array("Content-Type: text/plain"));
$url_get_contents_data = (curl_exec($conn));
curl_close($conn);
}elseif(function_exists('file_get_contents')){
$url_get_contents_data = file_get_contents($url);
}elseif(function_exists('fopen') && function_exists('stream_get_contents')){
$handle = fopen ($url, "r");
$url_get_contents_data = stream_get_contents($handle);
}else{
$url_get_contents_data = false;
}
return $url_get_contents_data;
}
PHP Version 5.3.27
它适用于localhost但不适用于服务器