asp.net调用微信端的JS-SDK接口,但是权限签名一直出错,步骤也没错跟微信文档的一样,急急急

///
/// 获得accesstoken
///
///
public static string AccessToken()
{
return SendRequest("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appid + "&secret=" + secret, Encoding.UTF8);
}

/// <summary>
/// 根据accesstoken获得ticket
/// </summary>
/// <returns></returns>
public static string GetTicket()
{
    string access_token = AccessToken();
    string url1 = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=" + access_token.Substring(access_token.IndexOf(':') + 2, access_token.IndexOf(',') - 3 - access_token.IndexOf(':')) + "&type=jsapi";
    string requstStr = SendRequest(url1, Encoding.UTF8);
    string ticket = requstStr.Substring(requstStr.IndexOf("ticket") + 9, requstStr.LastIndexOf(',') - 1 - requstStr.IndexOf("ticket") - 9);// 获得json参数没搞懂的自己优化
    return ticket;
}

/// <summary>
/// 获取jssdk所需签名
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
public static string GetSignature(string link)
{
    DateTime dti = DateTime.Now;
    dtime = dti.ToString("yyyy-MM-dd HH:mm:ss");
    string noncestr = dti.ToString("yyyyMMddHHmmss");
    int timestamp = 1510124527;
    string ticket = GetTicket();
    time = "1510124527";
    randstr = noncestr;

    string string1 = "jsapi_ticket=" + ticket + "&noncestr=" + noncestr + "&timestamp=" + timestamp + "&url=" + link;
    url = string1;
    string signature = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(string1, "SHA1");
    return signature.ToLower(); // 生成后一定转换为小写
}

/// <summary>   
/// Get方式获取url地址输出内容   
/// </summary> /// <param name="url">url</param>   
/// <param name="encoding">返回内容编码方式,例如:Encoding.UTF8</param>   
public static string SendRequest(string url, Encoding encoding)
{
    HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
    webRequest.Method = "GET";
    HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse();
    StreamReader sr = new StreamReader(webResponse.GetResponseStream(), encoding);
    string str = sr.ReadToEnd();
    return str;
}

/// <summary>
/// 将值记录到数据库中防止出现调用限制
/// </summary>
/// <param name="url"></param>
public static void SignatureAdd(string link)
{
    time = "";
    randstr = "";
    signstr = "";
    signstr = GetSignature(link);

    string sqlI = "insert into wxinfo(timestr,nonceStr,signature,timeS,url,link) values('" + time + "','" + randstr + "','" + signstr + "','" + dtime + "','" + url + "','" + link + "') ";

    int count = DbHelper.ExecuteCommand(sqlI);
}

/// <summary>
/// 获得微信权限信息,格式:时间戳,随机数,签名
/// </summary>
/// <param name="link"></param>
/// <returns></returns>
public static string GetWXInfo(string link)
{
    bool result = false;
    // 获得最后一条新增数据
    string sql = " select * from wxinfo where link='" + link + "' order by wxinfo_id desc";
    DataTable dt = DbHelper.GetDataSet(sql);
    if (dt != null)
    {
        if (dt.Rows.Count > 0)
        {
            // 当前时间小于获得获得tincket时间时调用数据库中
            if (DateTime.Now < Convert.ToDateTime(dt.Rows[0]["timeS"].ToString()).AddSeconds(7200))
            {
                time = dt.Rows[0]["timestr"].ToString();
                randstr = dt.Rows[0]["nonceStr"].ToString();
                signstr = dt.Rows[0]["signature"].ToString();
                url = dt.Rows[0]["url"].ToString();
                result = true;
            }
        }
    }
    if (result == false)
    {
        SignatureAdd(link);
    }
    return time + "," + randstr + "," + signstr;
}

}

4个回答

建议采用第三方插件库,或者参考
http://yzgljj.gov.cn/

网络中常见的问题,都有提到这里就不说了,我只提一下自己出现invalid signature签名错误的解决方法
在我解决了一系列参数值的获取问题后,在传入配置的时候还是出现了invalid signature签名错误
这时我就尝试将数值直接带入到config中,发现可以通过,所以考虑到config传入参数类型的严谨性,在每个字符类型的传入参数后面加上没有内容的字符(例如如appid+''),保证了传入参数类型的正确,这样子配置就通过了

function wxconfig(jsapi_ticket,noncestr,timestamp,appid){

var url=location.href.split('#')[0];
var string1='jsapi_ticket='+jsapi_ticket+'&noncestr='+noncestr+'&timestamp='+timestamp+'&url='+url;

var str = CryptoJS.SHA1(string1, { asString: true });

wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: appid+'', // 必填,公众号的唯一标识
timestamp:timestamp, // 必填,生成签名的时间戳
nonceStr: noncestr+'', // 必填,生成签名的随机串
signature: str+'',// 必填,签名,见附录1
jsApiList: ['checkJsApi',
'onMenuShareTimeline'
] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});

}

function wxconfig(jsapi_ticket,noncestr,timestamp,appid){

var url=location.href.split('#')[0];
var string1='jsapi_ticket='+jsapi_ticket+'&noncestr='+noncestr+'&timestamp='+timestamp+'&url='+url;

var str = CryptoJS.SHA1(string1, { asString: true });

wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: appid+'', // 必填,公众号的唯一标识
timestamp:timestamp, // 必填,生成签名的时间戳
nonceStr: noncestr+'', // 必填,生成签名的随机串
signature: str+'',// 必填,签名,见附录1
jsApiList: ['checkJsApi',
'onMenuShareTimeline'
] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});

}

1、JSSDK有签名生成测试工具
2、下载微信开发工具
3、进入调试状态,把生成的各个步骤的值 都输出出来,利用JSSDK签名生成工具生成的,和你程序生成的进行逐一比对。
4、确定j sapi_ticket错了还是 哪个参数错了。
5、注意公众号和企业公众号的 api urlJ 是不一样的。
6、下载个示例代码看看。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
asp.net调用微信端的JS-SDK接口,但是权限签名一直出错,有没有大神帮我看一下啊

/// <summary> /// 获得accesstoken /// </summary> /// <returns></returns> public static string AccessToken() { return SendRequest("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appid + "&secret=" + secret, Encoding.UTF8); } /// <summary> /// 根据accesstoken获得ticket /// </summary> /// <returns></returns> public static string GetTicket() { string access_token = AccessToken(); string url1 = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=" + access_token.Substring(access_token.IndexOf(':') + 2, access_token.IndexOf(',') - 3 - access_token.IndexOf(':')) + "&type=jsapi"; string requstStr = SendRequest(url1, Encoding.UTF8); string ticket = requstStr.Substring(requstStr.IndexOf("ticket") + 9, requstStr.LastIndexOf(',') - 1 - requstStr.IndexOf("ticket") - 9);// 获得json参数没搞懂的自己优化 return ticket; } /// <summary> /// 获取jssdk所需签名 /// </summary> /// <param name="url"></param> /// <returns></returns> public static string GetSignature(string link) { DateTime dti = DateTime.Now; dtime = dti.ToString("yyyy-MM-dd HH:mm:ss"); string noncestr = dti.ToString("yyyyMMddHHmmss"); int timestamp = 1510124527; string ticket = GetTicket(); time = "1510124527"; randstr = noncestr; string string1 = "jsapi_ticket=" + ticket + "&noncestr=" + noncestr + "&timestamp=" + timestamp + "&url=" + link; url = string1; string signature = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(string1, "SHA1"); return signature.ToLower(); // 生成后一定转换为小写 } /// <summary> /// Get方式获取url地址输出内容 /// </summary> /// <param name="url">url</param> /// <param name="encoding">返回内容编码方式,例如:Encoding.UTF8</param> public static string SendRequest(string url, Encoding encoding) { HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url); webRequest.Method = "GET"; HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse(); StreamReader sr = new StreamReader(webResponse.GetResponseStream(), encoding); string str = sr.ReadToEnd(); return str; } /// <summary> /// 将值记录到数据库中防止出现调用限制 /// </summary> /// <param name="url"></param> public static void SignatureAdd(string link) { time = ""; randstr = ""; signstr = ""; signstr = GetSignature(link); string sqlI = "insert into wxinfo(timestr,nonceStr,signature,timeS,url,link) values('" + time + "','" + randstr + "','" + signstr + "','" + dtime + "','" + url + "','" + link + "') "; int count = DbHelper.ExecuteCommand(sqlI); } /// <summary> /// 获得微信权限信息,格式:时间戳,随机数,签名 /// </summary> /// <param name="link"></param> /// <returns></returns> public static string GetWXInfo(string link) { bool result = false; // 获得最后一条新增数据 string sql = " select * from wxinfo where link='" + link + "' order by wxinfo_id desc"; DataTable dt = DbHelper.GetDataSet(sql); if (dt != null) { if (dt.Rows.Count > 0) { // 当前时间小于获得获得tincket时间时调用数据库中 if (DateTime.Now < Convert.ToDateTime(dt.Rows[0]["timeS"].ToString()).AddSeconds(7200)) { time = dt.Rows[0]["timestr"].ToString(); randstr = dt.Rows[0]["nonceStr"].ToString(); signstr = dt.Rows[0]["signature"].ToString(); url = dt.Rows[0]["url"].ToString(); result = true; } } } if (result == false) { SignatureAdd(link); } return time + "," + randstr + "," + signstr; } }

asp.net做微信端的开发调用扫一扫接口扫出的字符串如何传到后端进行解密

asp.net做微信端的开发,调用扫一扫接口扫除的字符串如何传到后端的解密函数进行解密,再将结果返回到前端 前端代码: wx.ready(function () { wx.scanQRCode({ needResult: 0, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果, scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是一维码,默认二者都有 success: function (res) { result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果 if (typeof (result) != "undefined") { alert("扫码成功!");// 扫描后的值 result = res.resultStr $.ajax({ type: "POST", cache: false, url: "qzsm.aspx/getPrintData", //页面名/要调用的后台方法名 data: {'weixin':result}, //json格式的字符串将参数传入后台,参数名必须一致 contentType: "application/json;charset=utf-8", dataType: "json", success: function (result) { if (result.d[0] == "0") { alert("扫码失败!"); } else { getDoc(result.d[1]); } }, error: function (err) { alert("获取打印数据失败!"); } }); } } }); }); wx.error(function (res) { // config信息验证失败执行的函数 }); } 后端接收参数的函数 public static List<String> getPrintData(String weixin) { string sData = ""; sData = DeCode(weixin); List<String> str = new List<String>(); if (sData == "") { str.Add("0"); } else { str.Add("1"); str.Add(sData); } return str; } //后端解密函数 private static string DeCode(string strSrc) { }

asp.net开发微信公众平台通过接口上传图片到微信服务器后台

asp.net开发微信公众平台通过接口上传图片到微信服务器后台,就要代码。 ASCIIEncoding encodings = new ASCIIEncoding(); HttpWebResponse webResponses = null; string s = zone.Substring(0, zone.Length - 1); s = s.Substring(1, s.Length - 1); string imgurl = picssss.PostedFile.FileName; HttpWebRequest webRequests = (HttpWebRequest)WebRequest.Create("https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=" + s ); //使用post方式提交 webRequests.Method = "POST"; string responseStrs = null; webRequests.Timeout = 50000; //要post的字节数组 string postDatas = ""; //?grant_type=client_credential&appid=wx875bfe9a60fc304f&secret=4e6180a6cd8e1425918ecf7cb22c36e9 byte[] postBytess = encodings.GetBytes(postDatas); webRequests.ContentType = "application/x-www-form-urlencoded;"; webRequests.ContentLength = postBytess.Length; using (Stream reqStream = webRequests.GetRequestStream()) { reqStream.Write(postBytess, 0, postBytess.Length); } try { //尝试获得要请求的URL的返回消息 webResponses = (HttpWebResponse)webRequests.GetResponse(); } catch (Exception) { //出错后直接抛出 throw; } finally { if (webResponses != null) { //获得网络响应流 using (StreamReader responseReader = new StreamReader(webResponses.GetResponseStream(), encodings)) { responseStrs = responseReader.ReadToEnd();//获得返回流中的内容 } webResponses.Close();//关闭web响应流 } } //JObject jos = (JObject)JsonConvert.DeserializeObject(responseStrs); //string zones = jos["url"].ToString(); Response.Write(responseStrs); return responseStrs; } 或者帮着改改这个代码 我不知道哪里图片改写哪里,菜鸟一个 求大神出手啊。

.net core 微信公众号 开发

公众号API接口对应的有哪些菜单功能 列如: 欢迎你的设置 关键字应答 我如何把这些功能 列出来 新人求教!!! ![图片说明](https://img-ask.csdn.net/upload/201906/06/1559792250_553824.jpg)

.net微信公众号开发 客服功能 添加接口65400

微信接口文档: https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Service_Center_messages.html 请问下大家 这个添加客服接口不能用 ,调用一直返回65400 百度找了下出现: https://blog.csdn.net/zhangzhangdan/article/details/80864163 https://mp.weixin.qq.com/cgi-bin/announce?action=getannouncement&key=1464266075&version=12&lang=zh_CN 请问下开发过的大佬 现在怎么实现的 客服功能 请路过的大佬指教下!

asp.net微信下载图片素材,怎样将其保存,收到的内容该如何处理

调用接口 "https://api.weixin.qq.com/cgi-bin/media/get?access_token="+ access_token + "media_id="+media_id; HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url); using (WebResponse wr = req.GetResponse()) { //在这里对接收到的页面内容进行处理 Stream strm = wr.GetResponseStream(); } 如题:我应该怎么保存接收到的内容

asp.net 微信扫码支付 回调处理的问题

我使用开发模式二,先调用统一下单接口生成订单,然后在回调地址里面处理更新订单状态以及商品库存的逻辑,最后通知微信支付完成。 下载了官方的demo,发现回调方法里面的代码是这样的。 ``` public override void ProcessNotify() { WxPayData notifyData = GetNotifyData(); //检查openid和product_id是否返回 if (!notifyData.IsSet("openid") || !notifyData.IsSet("product_id")) { WxPayData res = new WxPayData(); res.SetValue("return_code", "FAIL"); res.SetValue("return_msg", "回调数据异常"); Log.Info(this.GetType().ToString(), "The data WeChat post is error : " + res.ToXml()); page.Response.Write(res.ToXml()); page.Response.End(); } //调统一下单接口,获得下单结果 string openid = notifyData.GetValue("openid").ToString(); string product_id = notifyData.GetValue("product_id").ToString(); WxPayData unifiedOrderResult = new WxPayData(); try { unifiedOrderResult = UnifiedOrder(openid, product_id); } catch (Exception ex)//若在调统一下单接口时抛异常,立即返回结果给微信支付后台 { WxPayData res = new WxPayData(); res.SetValue("return_code", "FAIL"); res.SetValue("return_msg", "统一下单失败"); Log.Error(this.GetType().ToString(), "UnifiedOrder failure : " + res.ToXml()); page.Response.Write(res.ToXml()); page.Response.End(); } //若下单失败,则立即返回结果给微信支付后台 if (!unifiedOrderResult.IsSet("appid") || !unifiedOrderResult.IsSet("mch_id") || !unifiedOrderResult.IsSet("prepay_id")) { WxPayData res = new WxPayData(); res.SetValue("return_code", "FAIL"); res.SetValue("return_msg", "统一下单失败"); Log.Error(this.GetType().ToString(), "UnifiedOrder failure : " + res.ToXml()); page.Response.Write(res.ToXml()); page.Response.End(); } //统一下单成功,则返回成功结果给微信支付后台 WxPayData data = new WxPayData(); data.SetValue("return_code", "SUCCESS"); data.SetValue("return_msg", "OK"); data.SetValue("appid", WxPayConfig.APPID); data.SetValue("mch_id", WxPayConfig.MCHID); data.SetValue("nonce_str", WxPayApi.GenerateNonceStr()); data.SetValue("prepay_id", unifiedOrderResult.GetValue("prepay_id")); data.SetValue("result_code", "SUCCESS"); data.SetValue("err_code_des", "OK"); data.SetValue("sign", data.MakeSign()); Log.Info(this.GetType().ToString(), "UnifiedOrder success , send data to WeChat : " + data.ToXml()); page.Response.Write(data.ToXml()); page.Response.End(); } private WxPayData UnifiedOrder(string openId, string productId) { //统一下单 WxPayData req = new WxPayData(); req.SetValue("body", "test"); req.SetValue("attach", "test"); req.SetValue("out_trade_no", WxPayApi.GenerateOutTradeNo()); req.SetValue("total_fee", 1); req.SetValue("time_start", DateTime.Now.ToString("yyyyMMddHHmmss")); req.SetValue("time_expire", DateTime.Now.AddMinutes(10).ToString("yyyyMMddHHmmss")); req.SetValue("goods_tag", "test"); req.SetValue("trade_type", "NATIVE"); req.SetValue("openid", openId); req.SetValue("product_id", productId); WxPayData result = WxPayApi.UnifiedOrder(req); return result; } ``` 文档中第十步是这样写的 ** (10)微信支付系统通过发送异步消息通知商户后台系统支付结果。商户后台系统需回复接收情况,通知微信后台系统不再发送该单的支付通知。** 为何没有看到对订单状态更新的逻辑代码呢?为什么又调用了一次统一下单API呢? 百思不得其解,求大神指导,谢谢!

如何使用asp.net core作为微信小程序后端进行小程序的开发?

我有一个想法,使用云服务器,docker里搭建nginx和.net环境,然后作为微信小程序的后端 进行开发,但是我不知道怎么进行,也不太清楚怎么在网上查询相关的资料 ,所以我想请问大家: 1. 我这样的搭配合理吗? 1. 微信小程序后端开发流程时怎样的啊? 谢谢

想用asp.net做一个扫一扫功能,调用微信扫一扫功能,兼容安卓和苹果和pc,具体步骤是什么

想做一个扫一扫功能, 调用手机摄像头和微信扫一扫功能,如何实现啊,具体步骤是什么,看书网上说的很迷惑

ASP.NET MVC 设置Access-Control-Allow-Origin

跨域用JavaScript get方法请求数据时会提示 http://test.com/getdata is not allowed by Access-Control-Allow-Origin. 解决方法: 1、创建一个attribute public class AllowCrossSiteJsonAttribute : ActionFilterAttribute { public override void OnActionExecuting(ActionExecutingContext filterContext) { filterContext.RequestContext.HttpContext.Response.AddHeader("Access-Control-Allow-Origin", "*"); base.OnActionExecuting(filterContext); } } 2、应用到Controller中的Action [AllowCrossSiteJson] public ActionResult YourMethod() { return Json("data"); } 内容引用自 http://stackoverflow.com/questions/6290053/setting-access-control-allow-origin-in-asp-net-mvc-simplest-possible-method

asp.net微信公众号后台自定义菜单

ajax 将对象装换成字符串到后台 请问下怎么用调用盛派SDK 创建菜单API 请大佬指点!!! ![图片说明](https://img-ask.csdn.net/upload/201908/06/1565063616_297767.jpg) ![图片说明](https://img-ask.csdn.net/upload/201908/06/1565063621_461073.jpg)

asp.net 调用钉钉接口推送消息问题

asp.net后台推送的时候需要sender和cid,cid怎么获取的?是后台获取吗?看不懂,有哪位大佬指教一下,最好有源码 ![图片说明](https://img-ask.csdn.net/upload/201908/07/1565163220_496732.png)

asp.net 怎么调用java写的接口地址获取xml

公司项目需要和客户自己的OA系统数据同步,我们公司的项目是asp.net,客户的OA系统是java写的 现在需要我们项目去调用java写的用户数据接口地址,来获取xml 接口地址:http://oa.hlbe.nm.cp/hlbeoa/app/hlbe/sync.user.do 返回是个XML格式内容 请教各们大神,asp.net 代码是要怎么写,才能获取到这个xml,从而把数据保存到我们自己的数据仓库里 (我们的项目是.net4.0写的)

asp.net mvc微信公众号开发,如何做一个关注公众号按钮。在线等

在微信里面搞一个关注按钮 或者跳到关注页面,这波很伤 哪位老哥扶一下 下面这几种方法都试过了: 一个a链接,下面是路径,在外部点这个链接还是可以的点进去有那个关注按钮,但是写到项目里面那个关注按钮就不见了。给大伙看一下效果。 https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=*************==&scene=123&from=singlemessage&isappinstalled=0#wechat_redirect ![图片说明](https://img-ask.csdn.net/upload/201711/27/1511774438_78438.png) 还有这种方法:写进项目里面没有效果 一个a链接http://weixin.qq.com/contacts/profile/gh_************ 好像还有一个方法 就是在商户平台上面 有这个是设置 那个 推荐关注 就是购买东西支付完成之后,会有一个推荐关注。打死我都找不到那个选项。不知道是不是这个。 ![图片说明](https://img-ask.csdn.net/upload/201711/27/1511774935_159172.jpg)

.NET MVC 开发微信公众号 扫一扫问题

从网了找了些资料看了下,需要绑定域名、引入JS文件。这些都弄好了。 也获取到appid签名等数据了,使用wx.ready验证WX.config成功了。但是调用wx.scanQRCode没成功 ![图片说明](https://img-ask.csdn.net/upload/201712/18/1513576604_606578.png) ![图片说明](https://img-ask.csdn.net/upload/201712/18/1513576656_906563.png)

微信公众号 是通过什么和.net core后台联系起来的

微信公众号 是通过什么和.net core后台联系起来的 微信公众号 是通过什么和.net core后台联系起来的 .net core后台写的代码 如何在公众号显示? 新人求教!!!

.net core senparc sdk 微信公众号开发

请大佬 留下联系方式 有问题请教 ![图片说明](https://img-ask.csdn.net/upload/201906/18/1560847800_378482.jpg)

关于asp.net调用pb写的dll问题

现在asp.net调用pb写的dll我将dll放到bin目录然后添加引用,初始化的时候![图片说明](https://img-ask.csdn.net/upload/201508/06/1438794975_527519.png)查看有哪些接口的时候报错出现死循环![图片说明](https://img-ask.csdn.net/upload/201508/06/1438795136_748455.png)这里出现函数求值超时,谁遇到过这种情况求大神们指导。

.net微信公众号开发新人请教!

新人 请教 路过大佬 调用官方API 定义功能菜单 实现后台界面 然后调用接口去定义 最好通过前台其他的请求让后得到数据 具体细节操作还不是很懂(后台对接API这一系列,到后台界面) 请大佬讲解下!!!

C/C++学习指南全套教程

C/C++学习的全套教程,从基本语法,基本原理,到界面开发、网络开发、Linux开发、安全算法,应用尽用。由毕业于清华大学的业内人士执课,为C/C++编程爱好者的教程。

定量遥感中文版 梁顺林著 范闻捷译

这是梁顺林的定量遥感的中文版,由范闻捷等翻译的,是电子版PDF,解决了大家看英文费时费事的问题,希望大家下载看看,一定会有帮助的

YOLOv3目标检测实战:训练自己的数据集

YOLOv3是一种基于深度学习的端到端实时目标检测方法,以速度快见长。本课程将手把手地教大家使用labelImg标注和使用YOLOv3训练自己的数据集。课程分为三个小项目:足球目标检测(单目标检测)、梅西目标检测(单目标检测)、足球和梅西同时目标检测(两目标检测)。 本课程的YOLOv3使用Darknet,在Ubuntu系统上做项目演示。包括:安装Darknet、给自己的数据集打标签、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算和画出PR曲线)和先验框聚类。 Darknet是使用C语言实现的轻型开源深度学习框架,依赖少,可移植性好,值得深入探究。 除本课程《YOLOv3目标检测实战:训练自己的数据集》外,本人推出了有关YOLOv3目标检测的系列课程,请持续关注该系列的其它课程视频,包括: 《YOLOv3目标检测实战:交通标志识别》 《YOLOv3目标检测:原理与源码解析》 《YOLOv3目标检测:网络模型改进方法》 敬请关注并选择学习!

sql语句 异常 Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your

在我们开发的工程中,有时候会报 [Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ------ 这种异常 不用多想,肯定是我们的sql语句出现问题,下面...

浪潮集团 往年的软件类 笔试题 比较详细的哦

浪潮集团 往年的软件类 笔试题 比较详细的哦

2019 AI开发者大会

2019 AI开发者大会(AI ProCon 2019)是由中国IT社区CSDN主办的AI技术与产业年度盛会。多年经验淬炼,如今蓄势待发:2019年9月6-7日,大会将有近百位中美顶尖AI专家、知名企业代表以及千余名AI开发者齐聚北京,进行技术解读和产业论证。我们不空谈口号,只谈技术,诚挚邀请AI业内人士一起共铸人工智能新篇章!

I2c串口通信实现加速度传感器和FPGA的交流

此代码能实现加速度传感器与FPGA之间的交流,从而测出运动物体的加速度。

Python可以这样学(第一季:Python内功修炼)

董付国系列教材《Python程序设计基础》、《Python程序设计(第2版)》、《Python可以这样学》配套视频,讲解Python 3.5.x和3.6.x语法、内置对象用法、选择与循环以及函数设计与使用、lambda表达式用法、字符串与正则表达式应用、面向对象编程、文本文件与二进制文件操作、目录操作与系统运维、异常处理结构。

微信公众平台开发入门

本套课程的设计完全是为初学者量身打造,课程内容由浅入深,课程讲解通俗易懂,代码实现简洁清晰。通过本课程的学习,学员能够入门微信公众平台开发,能够胜任企业级的订阅号、服务号、企业号的应用开发工作。 通过本课程的学习,学员能够对微信公众平台有一个清晰的、系统性的认识。例如,公众号是什么,它有什么特点,它能做什么,怎么开发公众号。 其次,通过本课程的学习,学员能够掌握微信公众平台开发的方法、技术和应用实现。例如,开发者文档怎么看,开发环境怎么搭建,基本的消息交互如何实现,常用的方法技巧有哪些,真实应用怎么开发。

机器学习初学者必会的案例精讲

通过六个实际的编码项目,带领同学入门人工智能。这些项目涉及机器学习(回归,分类,聚类),深度学习(神经网络),底层数学算法,Weka数据挖掘,利用Git开源项目实战等。

eclipseme 1.7.9

eclipse 出了新的eclipseme插件,官方有下载,但特慢,我都下了大半天(可能自己网速差)。有急需要的朋友可以下哦。。。

Spring Boot -01- 快速入门篇(图文教程)

Spring Boot -01- 快速入门篇 今天开始不断整理 Spring Boot 2.0 版本学习笔记,大家可以在博客看到我的笔记,然后大家想看视频课程也可以到【慕课网】手机 app,去找【Spring Boot 2.0 深度实践】的课程,令人开心的是,课程完全免费! 什么是 Spring Boot? Spring Boot 是由 Pivotal 团队提供的全新框架。Spring Boot...

HoloLens2开发入门教程

本课程为HoloLens2开发入门教程,讲解部署开发环境,安装VS2019,Unity版本,Windows SDK,创建Unity项目,讲解如何使用MRTK,编辑器模拟手势交互,打包VS工程并编译部署应用到HoloLens上等。

最简单的倍频verilog程序(Quartus II)

一个工程文件 几段简单的代码 一个输入一个输出(50Mhz倍频到100Mhz)

计算机组成原理实验教程

西北工业大学计算机组成原理实验课唐都仪器实验帮助,同实验指导书。分为运算器,存储器,控制器,模型计算机,输入输出系统5个章节

4小时玩转微信小程序——基础入门与微信支付实战

这是一个门针对零基础学员学习微信小程序开发的视频教学课程。课程采用腾讯官方文档作为教程的唯一技术资料来源。杜绝网络上质量良莠不齐的资料给学员学习带来的障碍。 视频课程按照开发工具的下载、安装、使用、程序结构、视图层、逻辑层、微信小程序等几个部分组织课程,详细讲解整个小程序的开发过程

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

基于RSA通信密钥分发的加密通信

基于RSA通信密钥分发的加密通信,采用pycrypto中的RSA、AES模块实现

不同变质程度煤尘爆炸残留气体特征研究

为分析不同变质程度煤尘爆炸残留气体成分的特征规律,利用水平管道煤尘爆炸实验装置进行了贫瘦煤、肥煤、气煤、长焰煤4种不同变质程度的煤尘爆炸实验,研究了不同变质程度煤尘爆炸后气体残留物含量的差异,并对气体

设计模式(JAVA语言实现)--20种设计模式附带源码

课程亮点: 课程培训详细的笔记以及实例代码,让学员开始掌握设计模式知识点 课程内容: 工厂模式、桥接模式、组合模式、装饰器模式、外观模式、享元模式、原型模型、代理模式、单例模式、适配器模式 策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式 课程特色: 笔记设计模式,用笔记串连所有知识点,让学员从一点一滴积累,学习过程无压力 笔记标题采用关键字标识法,帮助学员更加容易记住知识点 笔记以超链接形式让知识点关联起来,形式知识体系 采用先概念后实例再应用方式,知识点深入浅出 提供授课内容笔记作为课后复习以及工作备查工具 部分图表(电脑PC端查看):

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

软件测试2小时入门

本课程内容系统、全面、简洁、通俗易懂,通过2个多小时的介绍,让大家对软件测试有个系统的理解和认识,具备基本的软件测试理论基础。 主要内容分为5个部分: 1 软件测试概述,了解测试是什么、测试的对象、原则、流程、方法、模型;&nbsp; 2.常用的黑盒测试用例设计方法及示例演示;&nbsp; 3 常用白盒测试用例设计方法及示例演示;&nbsp; 4.自动化测试优缺点、使用范围及示例‘;&nbsp; 5.测试经验谈。

几率大的Redis面试题(含答案)

本文的面试题如下: Redis 持久化机制 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题 热点数据和冷数据是什么 Memcache与Redis的区别都有哪些? 单线程的redis为什么这么快 redis的数据类型,以及每种数据类型的使用场景,Redis 内部结构 redis的过期策略以及内存淘汰机制【~】 Redis 为什么是单线程的,优点 如何解决redis的并发竞争key问题 Red...

手把手实现Java图书管理系统(附源码)

【超实用课程内容】 本课程演示的是一套基于Java的SSM框架实现的图书管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的java人群。详细介绍了图书管理系统的实现,包括:环境搭建、系统业务、技术实现、项目运行、功能演示、系统扩展等,以通俗易懂的方式,手把手的带你从零开始运行本套图书管理系统,该项目附带全部源码可作为毕设使用。 【课程如何观看?】 PC端:https://edu.csdn.net/course/detail/27513 移动端:CSDN 学院APP(注意不是CSDN APP哦) 本课程为录播课,课程2年有效观看时长,大家可以抓紧时间学习后一起讨论哦~ 【学员专享增值服务】 源码开放 课件、课程案例代码完全开放给你,你可以根据所学知识,自行修改、优化

jsp+servlet入门项目实例

jsp+servlet实现班级信息管理项目

winfrom中嵌套html,跟html的交互

winfrom中嵌套html,跟html的交互,源码就在里面一看就懂,很简单

Java面试题大全(2020版)

发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 本套Java面试题大全,全的不能再全,哈哈~ 一、Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。 JRE:Java Runtime Environ...

python实现数字水印添加与提取及鲁棒性测试(GUI,基于DCT,含测试图片)

由python写的GUI,可以实现数字水印的添加与提取,提取是根据添加系数的相关性,实现了盲提取。含有两种攻击测试方法(高斯低通滤波、高斯白噪声)。基于python2.7,watermark.py为主

Xshell6完美破解版,亲测可用

Xshell6破解版,亲测可用,分享给大家。直接解压即可使用

你连存活到JDK8中著名的Bug都不知道,我怎么敢给你加薪

CopyOnWriteArrayList.java和ArrayList.java,这2个类的构造函数,注释中有一句话 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 public ArrayList(Collection&lt;? ...

相关热词 c# dbml文件 修改 c#遍历tree c# 能够控制单片机 c#对象写入数据库 c# 添加activex c#2005 json c# 数据库在云端 c# 字符串移位加密 c#禁用滚轮 c#实体类list去重复
立即提问