它适用于我的localhost,当我将这个php文件放在其他主机上时效果很好但是每当我把这个php文件放在我的BlueHost服务器中时这个代码不起作用,它返回HTTP代码0.我已经联系了BlueHost客户服务他们说他们打开了他们不知道错误的每个港口。所以我检查了php.ini文件,在那里我启用了cURL dll但仍然没有工作。
另一方面,我也联系了我用cURL打的服务器,他们说他们的测试服务器,所以他们不限制任何IP。
<?php
$plazaCode = isset($_GET['plazaCode']) ? $_GET['plazaCode'] : 3413921;
$productCode = isset($_GET['productCode']) ? $_GET['productCode'] : 18044;
$requestUrl = "http://103.243.142.55:8080/eComm/OnlineSale/currentStock?plazaCode=$plazaCode&productCode=$productCode";
$content = get_data($requestUrl);
echo $content;
function get_data($url) {
try{
$ch = curl_init();
if ($ch === FALSE){
throw new Exception('failed to initialize cURL variable');}
$timeout = 60;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_PORT, 8080);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST , 0);
$data = curl_exec($ch);
print curl_error($ch);
echo '<br>';
echo 'input url = '.$url;
echo '<br>';
foreach(curl_getinfo($ch) as $key=>$value){
if($key=='http_code')
echo 'response '.$key.' = '.$value.'<br/>';
}
//var_dump(curl_getinfo($ch));
curl_close($ch);
return $data;
}
catch(Exception $e){
trigger_error(sprintf(
'cURL failed with error #%d: %s',
$e->getCode(), $e->getMessage()),
E_USER_ERROR);
}
}
?>