php curl 400 bad request怎么解决,关于json:file_get_contents抛出400 Bad Request错误PHP
我只是使用file_get_contents()来获取来自这样的用户的最新推文:
$tweet = json_decode(file_get_contents('http://api.twitter.com/1/statuses/user_timeline/User.json'));
这在我的localhost上工作正常但是当我将它上传到我的服务器时它会抛出此错误:
Warning: file_get_contents(http://api.twitter.com/1/statuses/user_timeline/User.json) [function.file-get-contents]:failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request...
不确定是什么导致它,也许我需要在我的服务器上设置php配置?
提前致谢!
阅读本文:stackoverflow.com/questions/697472/
请参阅[此堆栈问题] [1],因为它可能会回答您的问题。 [1]:stackoverflow.com/questions/3710147/
谢谢彼得布鲁克斯! 那很有效!
您可能希望尝试使用curl来检索数据而不是file_get_contents。 curl更好地支持错误处理:
// make request
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://api.twitter.com/1/statuses/user_timeline/User.json");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
// convert response
$output = json_decode($output);
// handle error; error output
if(curl_getinfo($ch, CURLINFO_HTTP_CODE) !== 200) {
var_dump($output);
}
curl_close($ch);
这可能会让您更好地了解收到错误的原因。 常见错误是达到服务器的速率限制。
您应该打印curl_error($ch)以获得更详细的错误。
您可以使用file_get_contents将ignore_errors选项添加到true,这样您就可以在出现错误时获取整个响应(例如,HTTP / 1.1 400),而不仅仅是一个简单的false。
您可以在此处查看示例:https://stackoverflow.com/a/11479968/3926617
如果要访问响应的标头,可以在请求后使用$http_response_header。
http://php.net/manual/en/reserved.variables.httpresponseheader.php
关于本的回答只是一个小补遗。
根据PHP手册,可以在使用curl_init()对cURL句柄进行初始化时设置CURLOPT_URL选项。
// make request
$ch = curl_init("http://api.twitter.com/1/statuses/user_timeline/User.json");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
// convert response
$output = json_decode($output);
// handle error; error output
if(curl_getinfo($ch, CURLINFO_HTTP_CODE) !== 200) {
var_dump($output);
}
curl_close($ch);
php curl 400 bad request怎么解决,关于json:file_get_contents抛出400 Bad Request错误PHP相关推荐
- java主动抛出400异常_400个线程同时查询数据,抛出一个异常
十二月 03, 2017 4:28:33下午 org.postgresql.Driver connect 严重: Connection error: org.postgresql.util.PSQLE ...
- get请求400错误 vue_解决axios发送post请求返回400状态码的问题
今天在用 发送一个跨域的post请求时,遇到了一个坑:uncaught (in promise) error: request failed with status code 400. 前台代码如下: ...
- 【远程调用返回400问题排查(已解决)】
远程调用返回400问题排查 前言 发生问题由来 问题排查 1. 参数400 2. 请求头过大导致400 3. header异常400 总结 前言 我最近给公司一个两年前开发的项目售后,帮助客户验视功能 ...
- Flask werkzeug.exceptions.BadRequest: 400 Bad Request: Failed to decode JSON object: None
今天在部署flask服务的时候发现了下面的问题: param = dict(args=request.args, post=request.json)File "/root/anaconda ...
- failed to open stream :HTTP request failed 解决方法
failed to open stream :HTTP request failed 解决方法 参考文章: (1)failed to open stream :HTTP request failed ...
- git 提交两次commit到同一分支,被糅合为一次Marge Request的解决方法:cherry-pick
简 述: git 提交两次commit到同一分支,且也push到同一个远程仓库的分支,会被糅合为一次Marge Request的解决方法:使用cherry-pick解决 文章目录 同步博文: 需求背景 ...
- ajax上传文件报错The current request is not a multipart request的解决办法
ajax上传文件报错The current request is not a multipart request的解决办法 主要报错语句为: The current request is not a ...
- uni-app打包H5出现“网络不给力,点击屏幕重试” 和 H5端接口请求{“errMsg“:“request:fail“}解决方法
uni-app打包H5出现"网络不给力,点击屏幕重试" 和 H5端接口请求{"errMsg":"request:fail"}解决方法 1.m ...
- iis mysql cpu_[译]通过IIS Request Filtering解决SQL Server CPU高的问题
Top Queries by Total CPU Time 当CPU非常高的时候有可能你的条件反射就是重启服务或者回收App Pools.SQL Server 2008 内置了非常棒的报表帮助我们追踪 ...
最新文章
- 起飞,会了这4个 Intellij IDEA 调试魔法,阅读源码都简单了
- matlab i型级联filter,Matlab中filter,conv,impz用法(最新整理)
- hbase RowFilter如何根据rowkey查询以及实例实现代码
- Eclipse利用Maven2搭建SpringMVC框架的Web工程
- 见闻大量急救车急速行驶有感
- 如何评估一个产品的投资回报?
- HPC在石油勘探行业正面临三大考验
- mysql禁止远程连接
- 【工具篇】AS连接不上夜神模拟器
- android三星滑动解锁,三星怎样取消滑动解锁
- Camera-3A AE/AWB/AF
- 2020年980计算机综合,2022年华北水利水电大学980计算机学科专业综合考研复习资料...
- HBase Muti-Master
- 计算机保研面试之专业课如何复习?
- 智慧水利整体解决方案2022(ppt可编辑)
- Backtrader(十六)- Order订单 - order_target_xxx
- DO - varying
- (从零开始)Cocos 3.6.0 接入微信小游戏激励广告
- day4_shop程序
- 仿生蛇形机器人02、Dynamixel MX-64AR舵机出现软件故障、无法调节角度
热门文章
- 大话西游虚拟机 无法登陆解 进不去、黑屏、决办法
- 数据结构——线索二叉树(TBT)
- spring-web-4.2.0.RELEASE.jar报错问题
- 2020完美世界Java笔试之礼物盒子
- 计算机键盘如何操作系统,计算机键盘上的F8键为何不灵了呢?
- 【捷凡阁】带你分享几个赚钱小连招
- 软酷网·武汉大学软件文化节
- 【Mistral-JSON】 mistral的workflow的mistral execution-workflow 传参问题
- 在线问题反馈模块实战(十八):实现excel台账文件记录批量导入功能
- 云原生领域再添重磅开源项目:腾讯发布 K8s 多集群管理开源项目 Clusternet