php curl调用接口显示HTTP Status 415如何解决
发布:smiling 来源: PHP粉丝网 添加日期:2018-10-19 13:32:24 浏览: 评论:0
使用php curl的方式调用对方提供的接口,收到了如下错误提示
HTTP Status 415
The server refused this request because the request entity is in a format not supported by the requested resource for the requested method.
Curl 的代码片段如下:
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_HEADER, FALSE);
- curl_setopt($ch, CURLOPT_NOBODY, FALSE);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
- curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
- curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
- curl_setopt($ch, CURLOPT_TIMEOUT, 120);
- curl_setopt($ch, CURLOPT_POST, TRUE);
- curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($postData));
- $data = curl_exec($ch);
- curl_close($ch);
多次检查curl设置已经接口的说明没有发现问题。对方的服务器使用的是Tomcat 7, 一度怀疑是对方web配置有误,后来仔细研究文档,其中提到Response是jason格式文档,而上述curl中没有指定Request Header 信息, 所以尝试加入一个header, 结果问题解决。 代码如下:
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json; charset=utf-8"));
Tags: curl调用接口 HTTP Status 415
相关文章
- ·PHP 利用curl_init发起http请求模仿登录(2014-01-06)
- ·php HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR区别总结(2014-01-16)
- ·nginx与PHP的SERVER_NAME和HTTP_HOST详解(2014-06-08)
- ·PHP根据HTTP_USER_AGENT判断客户端访问是否为手机访问(2014-06-26)
- ·file_get_contents无法请求https连接的解决方法(2014-07-02)
- ·$_SERVER参数HTTP_X_FORWARDED_FOR & REMOTE_ADDR与获取IP(2014-08-28)
- ·php 基于表单密码验证与HTTP验证用法(2014-09-08)
- ·php 仿asp xmlhttprequest请求数据代码(2014-09-08)
- ·php HTTP_REFERER模仿代码(2014-09-08)
- ·php下通过伪造http头破解防盗链的代码(2014-09-09)
- ·php ajax XMLHttpRequest POST实例代码(2014-09-09)
- ·PHP CURL访问HTTPS使用详解(2014-09-22)
- ·用PHP在服务端合并多个JS和CSS文件减少HTTP请求,提高速度(2015-04-15)
- ·PHP如何传递Ajax成功或失败的状态?HTTP Status Codes可以实现(2015-04-15)
- ·PHP中Libevent HTTP客户端实现程序(2015-04-15)
- ·PHP Ajax文件异步上传代码(XMLHttpRequest)例子(2016-01-20)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)