php header跳转 报错 Header may not contain more than a single header, new line detected

2016-05-08 10:16:00
hainuo
原创 3936
摘要:Header may not contain more than a single header, new line detected 原因很简单 看最后的说明检测到新行
今天遇到奇葩问题 发现也有别人跟我相同的问题 感觉也是很吃惊 ,看完本文你也会惊讶,自己竟会犯这种错误。今天想起练一下OAuth,于是就有了本文的起源。我连接coding的用户信息 使用以下代码进行OAuth信息获取``` public function __construct() { $useInfo = session('userInfo'); dump($useInfo); if (empty($useInfo)) { $url = 'https://coding.net/oauth_authorize.html?client_id=' . Config::get('client_id') . '&redirect_uri=' . urlencode(Config::get('redirect_uri')) . '&response_type=code[&scope=user]';// dump($url);exit;// cookie('login',false);// session('getUserInfo',true); header("Location: $url");// header('Etag:xxx',false); exit; } else { $code = I('code'); dump($code); if(!empty($code) and cookie('login')==false and session('getUserInfo')==true) { $url = 'oauth/access_token?client_id=' . Config::get('client_id') . '&client_secret=' . Config::get('client_secret') . '&grant_type=authorization_code&code=' . $code; $request = getHttpContent($url); $body = \GuzzleHttp\json_decode($request->getBody()); dump($body); } } }```然后执行的时候 代码开始于是就有了标题中的错误```Header may not contain more than a single header, new line detected```于是 在度娘(没错 ,因为我不太习惯Google的结果动不动就被墙,虽然开着vpn)找到[stackoverflow](http://stackoverflow.com/questions/16320403/getting-warning-header-may-not-contain-more-than-a-single-header-new-line-dete) 发现问题是一样的,但是问题产生原因不同,所以即便按照他说的在header后再增加一个header也是不能解决问题的,原因在于,我细致的检查了边代码发现我对变量`$url`赋值的语句有换行。尼玛,去掉换行后 解决问题。
发表评论
零 减 叁 =
评论通过审核后显示。