我有一个使用cURL(最新版本)连接到我们的API(IIS)服务器的站点。我的解决方案适用于wamp和XAMPP但在IIS中遇到问题
我无法在API服务器上发布数据。
// Code Snippets
$ client = new HttpClient();
$client->setAdapter('Zend\Http\Client\Adapter\Curl');
$url = (isset($apiUrl) && $apiUrl != NULL ) ? $apiUrl : CustomConstantsFunction::apiCommunityUrl();
$client->setUri($url);
$headers = $client->getRequest()->getHeaders();
$headers->addHeaderLine('Authorization', \Application\Functions\CustomConstantsFunction::encryptDecrypt('encrypt',$host.'-ZendCommunityProduct-'.$todayTimestamp));
$client->setMethod('POST');
$client->setParameterPOST($postData);
$client->setHeaders($headers);
$client->setOptions(array(
'maxredirects' => 1,
'timeout' => 300,
'curloptions' => array(
CURLOPT_HEADER => 1,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_UNRESTRICTED_AUTH => TRUE,
CURLOPT_SSL_VERIFYPEER => FALSE,
)
));
$response = $client->send();
$response = $response->getBody();
$data = json_decode($response);
return $data;
我也尝试过cURL&不同的网站,他们返回的内容很好,但对我没用。
是否有其他人遇到此错误并知道解决方法?
谢谢:)
答案 0 :(得分:0)
请尝试使用以下api url
$url = (isset($apiUrl) && $apiUrl != NULL ) ? $apiUrl."/" : CustomConstantsFunction::apiCommunityUrl();
并且还更改了$ client setOptions参数。
$client->setOptions(array(
'maxredirects' => 2,
'timeout' => 300
));
它为我工作。 :)