PHP curl请求404,curl请求本身工作正常

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (795)

我有一个卷曲请求:

curl -X PUT \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "x-api-token: API_TOKEN" \
--header "x-api-user: API_USER" \
--data '{"connection_id":"533905657015830359"}' \
"https://someserver/origination/numbers/%2B17032638425"

从命令行工作正常。当我尝试使用php脚本运行它时,它在详细响应中失败并带有404。

$url = "https://someServer/origination/numbers/%2B17032638425";

$postdata = json_encode(array('connection_id'=>'533905657015830359'));

$ch = curl_init($url);

curl_setopt_array($ch, array(
  CURLOPT_RETURNTRANSFER => TRUE,
  CURLOPT_SSL_VERIFYPEER => false,
  CURLOPT_VERBOSE => TRUE,
  CURLOPT_POST => 1,
  CURLOPT_POSTFIELDS => $postdata
));
  $headers = ['Content-Type: application/json','Accept: application/json','x-api-user: SOME-USER','x-api-token: SOME-TOKEN'];
 curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

 $response = curl_exec($ch);

我在这里用php请求搞错了什么?

提问于
用户回答回答于

如果我错了,请纠正我,但在我看来,你在shell CURL中使用PUT请求,在PHP版本中使用POST请求。两种HTTP方法虽然意义相当接近,但通常不会通过API端点以相同的方式进行管理。

扫码关注云+社区

领取腾讯云代金券