如何从PHP中的Stackoverflow API中读取响应?响应为GZIP版本。我发现例如以下建议:
$url = "http://api.stackoverflow.com/1.1/questions/" . $question_id;
$data = file_get_contents($url);
$data = http_inflate($data);
但是该功能http_inflate()
在我正在使用的安装上不可用。
还有其他简单的方法可以实现它吗?
一种很酷的方法
http://www.php.net/manual/zh/wrappers.compression.php
注意使用流包装 compress.zlib
$url = "compress.zlib://http://api.stackoverflow.com/1.1/questions/" . $question_id;
echo $data = file_get_contents($url, false, stream_context_create(array('http'=>array('header'=>"Accept-Encoding: gzip\r\n"))));
或使用卷曲
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => $url
, CURLOPT_HEADER => 0
, CURLOPT_RETURNTRANSFER => 1
, CURLOPT_ENCODING => 'gzip'
));
echo curl_exec($ch);
编辑-其他方法已删除,因为它们不发送Accept-Encoding
http标头。
问题内容: 我刚刚在python上做了gzip的摘要。 而且我在屏幕上没有任何输出。作为python的初学者,我想知道如果要读取gzip文件中文件的内容该怎么办。谢谢。 问题答案: 尝试像这样通过gzip库压缩一些数据… …然后按照发布的代码运行… 这种方法对我有用,因为某些原因,gzip库无法读取某些文件。
问题内容: 我在C 项目的资源中有一个版本资源,其中包含版本号,版权和构建详细信息。有一种简单的方法可以在运行时访问它,以填充我的“帮助/关于”对话框,因为我当前正在维护此信息的单独的const值。理想情况下,该解决方案应适用于Windows / CE移动版和Visual C 的早期版本(6.0或更高版本)。 问题答案: 这是我原始答案的编辑版本。
我收到了以下回复:HTTP/1.1 200确定日期:2016年4月11日星期一10:36:10 GMT内容处置:附件;filename=结果。xml;x-xss-防护:1;mode=access Keep Alive:timeout=5,max=100我想从头文件中读取文件名,如何使用正则表达式捕获这个值?
我创建了一个反向代理,如下所示: 并从main调用它: 它在客户端可以正常工作,但是我想阅读代理的响应,我怎么做?
我想做什么(在控制器中) 接收请求,根据该请求 发送外部HTTP请求 解析响应,并基于此 回复 我计划有多个函数都遵循这个模式。他们一个接一个地被召唤。 Symfony 4.3引入了HttpClient组件和BrowserKit组件,乍一看似乎符合要求。但事实证明,事情变得更加复杂。外部HTTP请求被发送到一个服务器,该服务器使用cookie跟踪会话,这应该不会太不寻常。如果发送请求时没有cook
问题内容: 我有两个Python脚本。一种使用Urllib2库,另一种使用Requests库。 我发现请求更容易实现,但是找不到urlib2的等效函数。例如: 建立完发布网址后,请给我内容-我正尝试连接到vcloud Director api实例,并且响应显示了我有权访问的端点。但是,如果我按以下方式使用请求库.... .... the和不返回任何内容,即使请求后调用中的状态代码等于200。 为什