我正在尝试在当地向大型商店进行curl呼叫,但我没有得到任何回应。该商店托管在不同的域中。当手动执行API URL时,它起作用。
我检查了curl_error
,这似乎是以下错误:
<http/1.1 301永久移动..
这是示例代码
<?php
$api_url = 'site url/api/v2/blog/posts/count';
$fp = fopen(dirname(__FILE__).'/errorlog.txt', 'w');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept:application/json','Content-Length: 0'));
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_STDERR, $fp);
curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, 0 );
curl_setopt( $ch, CURLOPT_USERPWD, "username:passwd" );
curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0 );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
$response = curl_exec( $ch );
您获得的错误表明您要访问的文档已经移动,并且API响应了新的位置。只需告诉Curl通过设置 curlopt_followlocation 选项 true :
来遵循此新位置。curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);