我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

欢迎来到,由苏南大叔给大家带来的“github的oauth登陆系列”文章。该系列文章的代码已经发布到了github上,代码地址是:https://github.com/newsn/typecho-plugin-github-oauth 。大家觉得不错的话,请给我star。本篇文章里,苏南大叔将要讲述,在服务器和github服务器用curl通信的时候的两个注意事项。这个应该是和github服务器通信的时候,所特有的设定。理论上来说,也许其他的oauth通信用不到这些设置。

苏南大叔:github 的 oauth 登陆之 curl - oauth_login_2
github 的 oauth 登陆之 curl(图1-1)

一,主动发送agent信息

报错信息:

Request forbidden by administrative rules. Please make sure your request has a User-Agent header (http://developer.github.com/v3/#user-agent-required). Check https://developer.github.com for other possible causes. 

解决方案:

curl_setopt($ci, CURLOPT_USERAGENT, "newsn.net oauth client");

就是说,你的curl请求里面,必须有agent信息。其实,这个对于我们的服务器端数据采集行为还是有启示的。你懂的。agent你应该设置一个常见的字符串。而这里,我是随便写了点信息。对,随便写的信息。github服务器就是这么矫情,随便写的数据都ok,就是不能不写.... 唉....

二,主动设置返回值格式

$headers[] = "Accept: application/json";
//$headers[]="Accept: application/xml";
curl_setopt($ci, CURLOPT_HTTPHEADER, $headers);

总结

由于,接口返回的可以是xml还可以是json。而github的服务器接口就恰好支持两种情况。所以,我们通过header主动指定希望的返回值格式。这样的话,我们的后续程序处理才会更加明确哦。

这个github的oauth登陆就基本设置完毕。大家记得给我star。谢谢。

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   github    oauth