curl 您访问的页面不存在!

h6my8fg2  于 2022-11-13  发布在  其他
关注(0)|答案(4)|浏览(105)

我在一个站点中调用另一个站点中的API,所以我构建了一个curl

$url = ........
$curl_data = array('name'=>$name);
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $curl_data);

$output = curl_exec($ch);
$info = curl_getinfo($ch, CURLINFO_HTTP_CODE);

所以当我执行curl的时候,我会打印出值“$output”,并获得Moved Permanently文档已经移到这里了.这是错误的,因为我会调用这个api,我会获得值,并在进程开始时回到页面.有人能帮助我吗?
过了一天我下决心在调用函数之前加上这一行:
如果是,则返回一个值。

envsm3lx

envsm3lx1#

检查URL是否确实抛出错误301(永久移动)。使用fiddler,因为它可以捕获HTTP错误代码。

bq9c1y66

bq9c1y662#

请参阅此PHP cURL says Moved Permanently when POSTing to a virtual host

curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_POSTREDIR, 3);
z9smfwbn

z9smfwbn3#

通过添加下面这行代码,

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
k97glaaz

k97glaaz4#

我也遇到过同样的问题,你可以通过改变你的网址前缀从http到https(如果它是http否则改变它为http)来解决它
问题出在.htaccess中
比如

RewriteRule ............ [R=301,L]

相关问题