在PHP中的代码中打开一个URL

时间:2014-05-26 23:20:31

标签: php file url curl

我想在php代码中打开一个URL。

http://www.vendorsite.com/bulksms/bulksms?username=xxx&password=xxx&msg=xxx

filefile_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但不适用于服务器

0 个答案:

没有答案