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

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

github的oauth登陆之curl - oauth_login_2

一,主动发送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。谢谢。

本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。