我在尝试使用PHP CURl时得到错误响应为405方法不允许请找到我的下面代码并帮助我,我的情况非常危险
<?php
$credentials = "xxxx:yyyyy";
$a=base64_encode($credentials);
$url = "http://api.trust.in/get/token";
$page = "/get/token";
$headers = array(
"POST ".$page." HTTP/1.1",
"Content-Type: text/plain;charset=utf-8",
"Content-Length:0",
"Authorization: Basic " . base64_encode($credentials),
"Connection:keep-Alive",
"Host:xyz.abc.in"
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_URL,$url);
$data = curl_exec($ch);
print_r(get_headers($url));
?>
答案 0 :(得分:1)
不要设置标题内容长度变为零,应该给你发布到网站的参数长度,测试它你可以使用邮递员。使用它更容易知道你做错了什么。
答案 1 :(得分:0)
根据您提供的文档,用于API端点的网址不正确。
而不是:
http://api.trust.in/get/token
使用:
http://api.toyotautrust.in/get/token
请尝试并告诉我们结果。
答案 2 :(得分:0)
根据我的文档,由于POST请求的参数为零,因此添加了空数组$params
curl_setopt($ ch,CURLOPT_POSTFIELDS,http_build_query($ params));