我有一个curl请求:
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请求做了什么大错特错了吗?
发布于 2018-06-07 04:57:26
如果我错了,请纠正我,但在我看来,您在shell CURL中使用了PUT请求,在PHP版本中使用了POST请求。这两个HTTP方法虽然在含义上非常接近,但通常由API端点以不同的方式进行管理。
https://stackoverflow.com/questions/50729434
复制相似问题