2016-12-15 177 views
0

我想用cURL从外部网站获取一些数据的html代码片段,但收到了空响应。如果我在浏览器中输入网址,我会得到我想要的数据,但我需要通过cURL或file_get_contents()从我的应用程序执行此操作。通过cURL从外部网站获取一些数据

这是我的代码:

$_awb = '888000074599'; 
    $url = 'http://89.45.196.45'; 
    $post_fields = ':8080/?id=8IM*8J*9K&NT='.$_awb; 

    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
    curl_setopt($ch, CURLOPT_HEADER, 0); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields); 

    $result = curl_exec($ch); 
    curl_close($ch); 

回答

0

你不应该使用CURLOPT_POSTFIELDS。您正尝试使用查询字符串执行GET请求,但postfields用于发出POST请求。

因此,将CURLOPT_URL设置为正确的(绝对)网址应该可行。

$url = "http://89.45.196.45:8080/?id=8IM*8J*9K&NT=" 
    $nt = "888000074599"; 

    $ch = curl_init(); 

    curl_setopt($ch, CURLOPT_URL, $url . $nt); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
    curl_setopt($ch, CURLOPT_HEADER, 0); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

    $result = curl_exec($ch); 
    curl_close ($ch);