向Stackoverflow API发送PHP Curl请求

Usumoio

我试图$curl在PHP中使用它来访问stackoverflow api,以获取基本信息。我查看了文档,并尝试了约一百种标头和curl_setopt命令的组合,但没有任何内容会正确返回。是否有人在PHP中使用curl来访问stackoverflow API?您使用什么参数来完成此任务?

这是我目前的工作,请注意,您可以看到我尝试过的curl请求组合的注释掉的工作:

$stack_url = 'https://api.stackexchange.com/2.2/info?site=stackoverflow&key=';

$header[]   = "Accept:application/json";
// $header[]    = "Accept-Encoding:gzip, deflate";
// $header[]    = "Cache-Control:cache";
// $header[]    = "Cache-Control:no-cache";
// $header[]    = "Accept-Language:en-US,en;q=0.5";
$header[]   = "Content-Length: 1000";
$header[]   = "Content-Type:application/json";
// $header[]    = "Cookie:23";
// $header[]    = "X-Requested-With:XMLHttpRequest";

// here we curl request to amazon no matter what
$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, $stack_url);

// the needed settings for this curl request
// curl_setopt( $curl, CURLOPT_HEADER, 1 );
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $curl, CURLOPT_HTTPHEADER, $header);
// curl_setopt( $curl, CURLOPT_POSTFIELDS, array());
// curl_setopt( $curl, CURLOPT_BINARYTRANSFER, 1 );
// curl_setopt( $curl, CURLOPT_POST, 1 );


$string = curl_exec( $curl );

curl_close( $curl );

debug( $string );
exit;

目前,这项工作正在恢复FALSE,但由于各种原因,我还返回了400个错误的请求。我认为我已经克服了这一点,但是我不确定该怎么做才能使数据响应恢复。

约翰·C

尽管我认为您不需要任何头文件,但看起来似乎已到此为止。缺少的主要内容是设置编码,因为所有响应都已压缩(请参阅doco的“常规”部分)。

这是一个快速的示例:

<?php

$stack_url = 'https://api.stackexchange.com/2.2/info?site=stackoverflow';

$string  = curl_init($stack_url);

curl_setopt($string, CURLOPT_ENCODING, 'gzip');  // Required by API
curl_setopt($string, CURLOPT_RETURNTRANSFER, 1 );

$result   = curl_exec($string );
curl_close($string );

var_dump($result );

如果您要使用API​​进行更多工作,则可能需要查看一个库来管理大多数工作,例如Stack.PHP。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我不能使用PHP curl向Google Maps API发送太多请求?

来自分类Dev

使用python向Stackoverflow API发出请求时,如何通过标头传递我的API密钥

来自分类Dev

通过cURL向Google App脚本发送请求

来自分类Dev

如何向特定的边缘节点发送 curl 请求?

来自分类Dev

向Websocket发送PHP请求

来自分类Dev

使用cURL向tomcat localhost发出PHP请求并获取响应

来自分类Dev

如何向 IP 地址 PHP 发出 CURL 请求?

来自分类Dev

如何在php中向eBay Restful API发出GET cURL请求

来自分类Dev

API CloudConvert curl请求PHP

来自分类Dev

向fluxpoint API发送请求时出错

来自分类Dev

使用 Alamofire 向 API 发送 POST 请求

来自分类Dev

如何向谷歌地图 API 发送请求?

来自分类Dev

如何向 WooCommerce API 发送请求

来自分类Dev

防止向PHP发送垃圾XMLXML请求

来自分类Dev

如何在php-codeigniter中向RESTserver api发送发布请求?

来自分类Dev

如何使用php发送curl请求

来自分类Dev

PHP通过curl发送POST请求

来自分类Dev

php发送curl请求并等待响应

来自分类Dev

PHP Curl不会发送POST请求

来自分类Dev

从代理IP发送cURL请求-PHP

来自分类Dev

php curl v python请求发送文件

来自分类Dev

PHP cURL-如何发送请求的正文?

来自分类Dev

从代理IP发送cURL请求-PHP

来自分类Dev

PHP Curl不会发送POST请求

来自分类Dev

向安全的Spring Boot应用程序发送Curl http请求

来自分类Dev

无法使用来自 iOS 的 Guzzle/Http 或 Curl 向 oauth/token 发送请求

来自分类Dev

如何使用CURL向API发送数据或从API接收数据?

来自分类Dev

如何向具有CURL或ARC的Azure AD授权保护的Web Api发出请求

来自分类Dev

获取发送的curl请求的大小

Related 相关文章

热门标签

归档