最近在做项目的时候用到了QQ第三方接口,腾讯提供了JS、安卓、IOS、php的SDK,但是没有C#的SDK。一开始我是在前台直接用JS的SDK做登陆验证,但是做完自己就感觉这样很可笑,JS是暴露给客户端的,那么客户完全可以直接绕过去,进入到你的后台。
所以我在通过登陆验证后回调后台页面,在后台进行合法性验证,防止非法登陆。
原理就是后台通过httpwebrequest操作第三方接口
/// <summary> /// HTTP POST方式请求数据 /// </summary> /// <param name="url">URL.</param> /// <param name="param">POST的数据</param> /// <returns></returns> public static string HttpPost(string url, string param) { HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.Accept = "*/*"; request.Timeout = 15000; request.AllowAutoRedirect = false; StreamWriter requestStream = null; WebResponse response = null; string responseStr = null; try { requestStream = new StreamWriter(request.GetRequestStream()); requestStream.Write(param); requestStream.Close(); response = request.GetResponse(); if (response != null) { StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); responseStr = reader.ReadToEnd(); reader.Close(); } } catch (Exception) { throw; } finally { request = null; requestStream = null; response = null; } return responseStr; }
需要源代码的可自行下载。
基于C#的QQ第三方接口接入源码
从腾讯官方申请到开发者账号然后通过了应用接入,把开发者账号和appkey放入配置文件就可以了,亲测可用。
时间: 2024-10-12 15:54:04