我有一个完全可用的API设置,并且zf2客户端I已经在理论上建立了工作,但无论如何,我似乎无法将来自客户端的JSON请求发送到API。每当我测试一下我不断收到以下标题而这又返回406错误:当我想在zf2客户端代码中使用“application/json”时,接受请求标头是“text/html,application/xhtm ...(etc)”

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Encoding: gzip, deflate

Accept-Language: en-US,en;q=0.5

Connection: keep-alive

Host: zf2-client.local

User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:43.0) Gecko/20100101 Firefox/43.0 FirePHP/0.7.4

x-insight: activate

现在,这里是我使用这个类和下面是我的要求设置方法。我已经做了一些试验来获得标题,但他们只是不工作,我不明白为什么。正如我所说我正在使用的API通常会返回一个完美的json脚本,但现在看起来标题让我无法得到必要的信息。

protected static function doRequest($url, array $postData = null, $method = Request::METHOD_GET)

{

$client = self::getClientInstance();

$client->setUri($url);

/*

Third attempt Also Didn't work

$client

->setHeaders([

'Content-Type' => 'application/json',

])

->setOptions(['sslverifypeer' => false])

->setMethod('POST')

->setRawBody(Json::encode($params));

*/

$client->setMethod($method);

/*

seccond attempt still not working

$client->setHeaders(array(

Zend\Http\Header\Accept::fromString('Accept: application/json'),

'Accept-Encoding' => 'json',

'X-Powered-By: Zend Framework',

));

*/

//first attempt at adding a working application/json header

// $acceptHeader = Zend\Http\Header\Accept::fromString('Accept: application/json');

//$client->getHeaders()->addHeader($acceptHeader);

if ($postData !== null) {

$client->setParameterPost($postData);

}

$response = $client->send();

if ($response->isSuccess()) {

return JsonDecoder::decode($response->getBody(), Json::TYPE_ARRAY);

} else {

$logger = new Logger;

$logger->addWriter(new Stream('data/logs/apiclient.log'));

$logger->debug($response->getBody());

return FALSE;

}

}

任何和所有的帮助是值得欢迎的。谢谢你的时间和精力:)

+1

“我不断收到下列标题” - 您认为这些是ZF HTTP客户端发送的标题是什么? ZF不会发送Firefox useragent。 –

+0

好吧,我现在看到了,我也检查了正确的标题正在被获取。我仍然不知道问题出在哪里。 –

html设置json请求头,当我想在zf2客户端代码中使用“application/json”时,接受请求标头是“text/html,application/xhtm ...(etc)”...相关推荐

  1. 请求头没有origin参数_在尝试从REST API获取数据时,请求的资源上没有“Access-Control-Allow-Origin”标头...

    在尝试从REST API获取数据时,请求的资源上没有"Access-Control-Allow-Origin"标头 我试图从HP Alm的REST API中获取一些数据. 它用一个 ...

  2. python 随机请求头_为了爬虫换个头,我用python实现三种随机请求头方式!

    相信大家在爬虫中都设置过请求头 user-agent 这个参数吧? 在请求的时候,加入这个参数,就可以一定程度的伪装成浏览器,就不会被服务器直接识别为spider.demo.code ,据我了解的,我 ...

  3. 有没有办法从nodejs代码中的package.json获取版本?

    本文翻译自:Is there a way to get version from package.json in nodejs code? Is there a way to get the vers ...

  4. Ajax(form表单文件上传、请求头之contentType、Ajax传递json数据、Ajax文件上传)

    form表单文件上传 上菜 file_put.html <form action="" method="post" enctype="multi ...

  5. Selenium修改HTTP请求头三种方式

    什么是HTTP请求头 HTTP请求头是HTTP 协议的重要组成部分.它们定义了 HTTP 消息(请求或响应)并允许客户端和服务器与消息交换可选的元数据.它们由不区分大小写的头字段名称后跟一个冒号,然后 ...

  6. Python 爬虫 Request(请求头)和Response(响应头)的 内容详解 【爬虫资料二】

    Resquest请求头[以访问知乎]为例(使用Fiddler抓的包) 请求行包含的信息: 请求的方法(POST)  #其他的方法还有GET.HEAD.PUT.DELETE.OPTIONS.TRACE ...

  7. 浏览器HTTP协议请求头信息

    通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息.客户端向服务器发送一个请求,请求头包含请求的方法.URI.协议版本.以及包含请求修饰符.客户信息和内容的类似于MIME的消息结构 ...

  8. Http 请求头中的 Proxy-Connection

    平时用 Chrome 开发者工具抓包时,经常会见到 Proxy-Connection 这个请求头.之前一直没去了解什么情况下会产生它,也没去了解它有什么含义.最近看完<HTTP 权威指南> ...

  9. http请求头状态码

    1.返回"HTTP Status 415"状态码[表示不支持的媒体类型(Media Type),也就是MIME类型] 如果请求头是Content-type=application/ ...

最新文章

  1. 自学python有哪些方向-机械想自学python可以学习哪个方向?
  2. java的两种运行机制_Java☞JVM工作原理
  3. Ubuntu16.04更新软件源
  4. arm架构安装rxtx_Parallels推新版本 M1芯片Mac能安装Win 10
  5. hibernate注解方式来处理映射关系
  6. 2021牛客暑期多校训练营4
  7. java kafka 分区_Java kafka如何实现自定义分区类和拦截器
  8. kaili camera
  9. css 悬停动画_CSS3缩放图像动画效果悬停
  10. 我对 SRE 的理解
  11. 通过一个Thinkphp完成多个项目
  12. H53D旋转-遁地龙卷风
  13. 如何检查电脑是否已经安装Flash Player
  14. [转载]系统提示:“您可能是微软盗版的受害者”的解决方法
  15. 脉冲神经网络(Spiking Neural Network,SNN)概述
  16. 经典蓝色横向二级导航栏
  17. msvcr120.dll WIN7 64位/32位丢失怎么办
  18. 计算机键盘灯光怎么关闭,笔记本怎么关键盘的灯_笔记本电脑关闭键盘背光的步骤-win7之家...
  19. 移动端浏览器隐私模式/无痕模式使用本地存储localStorage/sessionStorage的问题
  20. MySQL创建用户,授权

热门文章

  1. mysql不使用swapp的原因_SolidWorks不能使用的原因
  2. mysql禁止自动优化_MySQL必须调整的10项配置优化
  3. wpf treeview调整子菜单间距_完全由C编写,高度可移植,超级牛逼的菜单架构!...
  4. 移动端页面rem+media写法过程
  5. 从XMLHttpRequest中获取请求的URL
  6. iOS 9 学习系列:Storyboard References
  7. hihoCoder #1104 Suzhou Adventure
  8. linux下mysql-5.5.15安装详细步骤
  9. Flutter PageView左右滑动切换视图
  10. Windows下socket编程(console非MFC)