微信开发url可以是ip吗_微信开发 url 用ip - CSDN
  • 一、背景:微信开发其实跟web开发并没有太大的分别,在我们进行微信开发的时候,需要调用微信接口的时候(比如获取地理位置,上传图片,拍照等),肯定是需要在微信上操作的,而这时候我们的项目还没有部署到生产上...

    一、背景:微信开发其实跟web开发并没有太大的分别,在我们进行微信开发的时候,需要调用微信接口的时候(比如获取地理位置,上传图片,拍照等),肯定是需要在微信上操作的,而这时候我们的项目还没有部署到生产上,你肯定要看看本地项目的微信调用功能能不能运行吧,我们希望点击微信企业号菜单的按钮,运行的是我们本地的项目。

    我们可以通过代理的方式利用手机调试本地项目。

    二、需要用到Fiddler这个抓包工具,下载地址:http://download.csdn.net/detail/u013142781/9363371

    安装完成后,打开Fiddler,进行如下设置,Tools–>Fiddler Options–>Connections,Allow remote computers to connect 勾选上:

    这里写图片描述

    Fiddler设置完毕,重启Fiddler(记得一定是要重启才能生效哈)。

    三、接下来需要修改hosts文件了,修改hosts文件之前,回到微信企业号菜单的配置,配置菜单的时候是需要设置可信域名的,关于微信企业号菜单配置和可信域名请阅读小宝鸽的另外一篇博客:http://blog.csdn.net/u013142781/article/details/50318181

    比如你在微信配置的菜单为:http://yo.bbdfun.com/first_maven_project/
    然后你的可信域名为:yo.bbdfun.com

    那么打开你的hosts文件,window系统hosts文件目录为:C:\Windows\System32\drivers\etc下
    打开hosts文件,末尾加上这么句:你的电脑ip yo.bbdfun.com

    这里写图片描述

    然后保存,如果保存失败,可能是因为你的当前登录的系统账号没有修改hosts文件的权限。
    因此可以如下操作选中hosts文件,右击,属性然后:

    这里写图片描述

    添加了修改权限之后重新编辑保存即可。

    四、小宝鸽的web项目是部署到tomcat,因此以tomcat为例,需要注意的是我们需要tomcat端口改成80而不是默认的8080,因为微信可信域名只支持80端口,修改方式如下,双击tomcat,修改HTTP/1.1值为80,然后保存,重启服务器就可:

    这里写图片描述

    五、最后一步,手机设置代理,在微信端打开PC本地系统对应的页面。(注意:你的电脑和手机必须是同一个局域网,小宝鸽的电脑和手机是连接着同一个wifi的,所以可以)。

    代理设置,主机:你的电脑ip,端口:8888,如下:

    这里写图片描述

    最后在微信端点击对应菜单(测试)结果如下:

    这里写图片描述


    这里写图片描述

    展开全文
  • 说到帮他做一个微信公众号,于是今天在折腾这个,在微信页面添加服务器配置之后,点提交,自己搭建的web服务器收到了微信转发过来的请求,然后按要求返回传过来的随机字符串之后,微信页面提示请求URL超时,于是就...
    昨天跟朋友谈到微信公众号的事情,说到帮他做一个微信公众号,于是今天在折腾这个,在微信页面添加服务器配置之后,点提交,自己搭建的web服务器收到了微信转发过来的请求,然后按要求返回传过来的随机字符串之后,微信页面提示请求URL超时,于是就觉得很奇怪,服务器已经接收了请求了啊,也返回随机字符串。在网上搜了一下可能是ip变化的原因,因为用的自己电脑做的外网映射,用的nat123工具,可能是这个原因,多提交几次就成功了,只是不稳定而已,前期自己开发测试一下够了。
    
    展开全文
  • 学习微信公众号的开发,必须先阅读微信开发文档,通过阅读文档,了解有关微信公众开发的步骤及相关限制,了解其工作原理等。 微信开发之入门指引       ...

    说明

    公司需要开发微信服务号,要求做有关技术验证,学习了微信公众号的开发,在这里记录总结下。

    正文

          学习微信公众号的开发,必须先阅读微信开发文档,通过阅读文档,了解有关微信公众开发的步骤及相关限制,了解其工作原理等。

    微信开发之入门指引

          通过阅读入门指引,发现在正式开发之前必须要具备几个条件:1.申请微信公众号 2. 后台服务器 3.开发者配置

    申请测试公众号

    在微信官网申请公众号时,发现目前公众号只有两类帐号:服务号和订阅号,个人只能申请订阅号。原来的企业号变为企业微信,增加了微信小程序。申请地址为:https://mp.weixin.qq.com/
    这里写图片描述

    通过阅读微信文档的公众号接口权限说明,发现未经认证的订阅号接口权限十分有限,无法完成接下来的技术验证。
    这里写图片描述
    这里使用微信提供的在线测试平台,申请一个接口测试号完成有关技术验证。地址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
    这里写图片描述

    使用自己的微信号通过扫码即可申请一个测试号
    这里写图片描述
    微信会自动为测试号分配appID和appsecret,这两个参数是开发的关键。
    测试号申请到这里就结束了,接下来配置服务器。

    配置本地服务器

    阅读微信开发文档时发现,服务器必须外网可以访问且端口为80。要么需要购买云服务器,但这对我们开发调试有很大的不便,这里我使用了内网穿透工具实现外网访问,将本地的tomcat作为后台的应用服务器。
    工具为NATAPP,使用此工具可以自动将它产生的域名映射为本地的ip地址+端口。地址:https://natapp.cn/
    这里写图片描述

    在下方的客户端下载中选择适合自己电脑的版本
    这里写图片描述

    下载成功后需要注册登录申请免费隧道,每个用户可以拥有两条不同协议的隧道,免费隧道域名随机分配且会强制更换,这点在开发时需要注意,需要在微信配置中随时更换URL。
    这里写图片描述

    在申请时注意隧道协议为web,且本地端口为80
    这里写图片描述
    申请好会为隧道分配一个authtoken,这个token时让NATAPP可以运行起来的关键,接下来在运行前必须配置文件,关于配置文件的下载地址:https://natapp.cn/article/config_ini ,更多教程参考:https://natapp.cn/article/natapp_newbie
    配置文件必须与之前解压的natapp.exe在同一级目录,然后将得到的authtoken填入保存。
    这里写图片描述

    运行结果为:
    这里写图片描述
    这里可以看到随机分配的域名指向了本地的80端口。这里的域名就是测试号配置URL需要填写的参数。

    关于本地服务器的搭建到这里就结束了,接下来在之前申请的测试号中进行配置。

    配置测试号

    在配置之前必须搭建一个web项目,因为填写配置时微信服务器会向后台进行验证,后台给出正确的响应才会配置成功。这里我使用了SpringBoot构建web项目,关于SpringBoot如何构建web项目,可以在网上查阅相关资料,对于SpringBoot的学习推荐翟永超的博客程序猿DD。关于如果将SpringBoot项目部署到本地Tomcat中请参考另一篇博文《将Spring Boot项目部署到本地Tomcat中》

    这里写图片描述
    URL即为NATAPP运行时得到的域名,Token随意填写,程序中需要使用。

    校验代码:

    @RequestMapping(value="hello", method = RequestMethod.GET)
        public void hello(HttpServletRequest request,
                            HttpServletResponse response){
            System.out.println("success");
            String signature = request.getParameter("signature");
            String timestamp = request.getParameter("timestamp");
            String nonce = request.getParameter("nonce");
            String echostr = request.getParameter("echostr");
    
            PrintWriter out = null;
            try {
                out = response.getWriter();
                if(CheckUtil.checkSignature(signature,timestamp, nonce)){
                    out.write(echostr);
                }
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                out.close();
            }
    
        }

    在校验类CheckUtil中对微信服务器传来的参数进行校验

    import java.security.MessageDigest;
    import java.util.Arrays;
    
    public class CheckUtil {
        public static final String tooken = "testdemo";
        public static boolean checkSignature(String singnature, String timestamp, String nonce){
            String[] arr = {tooken, timestamp,nonce};
            Arrays.sort(arr);
            StringBuilder sb = new StringBuilder();
            for(String s : arr){
                sb.append(s);
            }
            String temp = getSha1(sb.toString());
            return temp.equals(singnature);
        }
    
        private static String getSha1(String str){
            if(str==null||str.length()==0){
                return null;
            }
    
            char hexDigits[] = {'0','1','2','3','4','5','6','7','8','9',
                    'a','b','c','d','e','f'};
    
            try {
                MessageDigest mdTemp = MessageDigest.getInstance("SHA1");
    
                mdTemp.update(str.getBytes("UTF-8"));
    
                byte[] md = mdTemp.digest();
                int j = md.length;
                char buf[] = new char[j*2];
                int k = 0;
    
                for (int i = 0; i < j; i++) {
                    byte byte0 = md[i];
                    buf[k++] = hexDigits[byte0 >>> 4 & 0xf];
                    buf[k++] = hexDigits[byte0 & 0xf];
                }
    
                return new String(buf);
    
            } catch (Exception e) {
                return null;
    
            }
        }
    }

    能正常响应时,就会出现配置成功,接下来就可以进行验证开发了。

    展开全文
  • 随着腾讯微信公众平台号的开放,围绕着微信的各种开发和营销如火如荼。很多商家也开始在微信上做文章,想充分利用微信平台4亿多的粉丝群体来进行各种营销和推广。这直接带来了很多公司开始做微信第3方营销平台,而...

         本系列文章属作者原创文章,请尊重作者的劳动成果,转载请注明出处:walkingmanc的专栏 , 谢谢!此外,因为为了完成《如何通过第3方平台搭建微信商城》的教程写作,需要有公众号,有愿意提供公众号试用的 可以联系我,QQ:2319482048,感谢了!



    1.   申请微信公众号

        我们要进行微信公众平台的开发,第一步当然是要有公众号了。什么?不知道什么是微信公众号,看来你还要先回炉炼炼了,呵呵。通俗的说,我们微信平台就好像是一个大社会,里面有个体人,也有各种组织机构。你自己使用的普通微信号就是个体人,而公众号就是那些组织,这些组织又分为2类:一类是提供各种信息的,称为订阅号;另一种是提供各种服务的,称为服务号。当然,目前个人只能申请到订阅号,只有组织机构,比如公司等才能申请到服务号。

        订阅号和服务号的区别在哪里呢?简单的说,服务号旨在为用户提供服务。你可以用你自己的微信加一下招商银行的微信号看看就知道什么是服务号了。订阅号旨在为用户提供信息和资讯。典型的例子有“骑行西藏”微信号。

        具体来说,服务号:

    1、1个月(30天)内仅可以发送1条群发消息。
    2、发给订阅用户(粉丝)的消息,会显示在对方的聊天列表中。
    3、在发送消息给用户时,用户将收到即时的消息提醒。
    4、服务号会在订阅用户(粉丝)的通讯录中。
    5、可申请自定义菜单。
     
        而订阅号:
    1、每天(24小时内)可以发送1条群发消息。
    2、发给订阅用户(粉丝)的消息,将会显示在对方的订阅号文件夹中。
    3、在发送消息给订阅用户(粉丝)时,订阅用户不会收到即时消息提醒。
    4、在订阅用户(粉丝)的通讯录中,订阅号将被放入订阅号文件夹中。
    5、订阅号不支持申请自定义菜单。

     

          通过这个比较大家大致有个直观的印象了吧,简单的说,订阅号主要是为粉丝提供各种资讯和新闻的,功能比较简单;而服务号呢,主要是为粉丝提供各种服务的,可以有自定义菜单。而且更重要的一点就是,服务号可以申请到更多的更高级的平台接口。到这里,大家就应该明白了,我们做微信商城,需要申请的是微信服务号。

         对个人开发者,是申请不到服务号的,不过,腾讯还是考虑到了这一点,特意为我们准备了测试帐号,通过这个帐号,我们可以获得微信服务号的所有功能和接口调用权限。

         好了,废话不多说了,接下来就跟着我一步一步的去申请微信测试帐号吧

     

     

    1.     打开申请地址:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login


    图片1

        看到上方的说明了吗?无需公众帐号,快速申请接口测试号,直接体验和测试公众平台所有高级接口。很激动吧。只要你输入手机号和验证码,马上就可以申请成功了,申请成功后如下图:


     

        大家注意观察,这个测试号的有效期是1年,而且分配了微信号和二维码。现在就拿起你的手机微信扫描一下刚刚分配给你的二维码图案吧,你会发现马上就可以关注申请到的这个测试公众号了。



        点击关注后,我们可以在订阅号里面找到这个公众号,大家请注意,虽然放在了订阅号里面,但是该测试号基本上可以调用微信平台所有的高级接口(见“可使用接口类别列表”),所以我们的这个测试号对我们是够用的。

     

     

     

    2.微信公众平台开发基本原理

        不知大家注意到没有,我们在第一节中的截图中,有个“网站接口配置”的配置项需要填写,其实这个就是微信平台和我们的网站对接的接口的url地址了。




         我们来看这张图。其中左侧蓝色框内部就是微信平台,右侧红色框内部就是我们自己的网站所在的服务器咯。微信平台和网站服务器之间通过接口调用来通信。当微信用户向我们的公众号发生消息时(具体的消息类型以后介绍),微信后台服务器会判断该消息是否是发给我们申请的公众号,如果是,将该消息转发给我们的公众号并向我们配置的网站接口地址发送一个请求消息,我们的网站接受到消息后,进行处理,并将处理的结果(响应消息)发送给微信平台,经过平台的转发,最后显示到微信用户的聊天框。

          这是一次典型的消息交互的过程,有了这个印象之后,我们就明白了,我们要做的工作的重点在于网站服务器端,也就是说:如何接受微信平台发送过来的请求消息,如何进行处理,最后如何返回处理结果给微信平台(图中绿色部分)。

    3.服务器环境准备

        我们要想接受并处理微信平台发送过来的消息,当然得有自己的网站服务器了。

    所以,接下来我们就要准备我们的网站服务器环境了。

        很多同学喜欢用百度应用引擎BAE,因为是免费申请而且不需要维护,这一点的确是很方便的,但我这里要说的是,我们在开发程序的时候,还是不建议那样做,为什么呢?因为不利于调试。  正常的步骤应该是在我们本地开发调试,没有任何问题之后再放到真正的服务器上去(例如新浪的SAE, 百度BAE等)。还有一个话题,我们开发我们的网站究竟使用什么语言呢?其实只要可以用来开发网站的语言都可以的,例如:Java、PHP、ASP.NET、Ruby、Python、Note.js等。微信平台和我们的网站交互是通过接口调用来实现的,只要我们的网站能对请求消息进行响应就可以了,使用什么语言都无所谓的。当然,看你最擅长哪门语言就使用哪门语言了,因为现在网站开发这一块php用得越来越多,所以我们就选择php作为我们网站的开发语言。

       语言选好了,下一步就是搭建本地的开发环境了。其实本地开发环境的搭建和普通php网站的开发环境的搭建是一样的,如果你不熟悉,可以自己直接到网上去下载一个WAMP套件,安装一下,然后再下载一个eclipse作为开发的工具就可以了。

       那么重点是什么呢?重点就是微信平台和我们本地服务器之间的通信问题。

    我们看下面的图:

     

        微信平台调用我们网站是通过这里配置的网站URL和Token来调用的,所以,我们首先需要为我们本地的服务器申请一个url,让外网能通过这个url访问到我们的本地网站。换句话说,就是要能将我们本地电脑上的网站发布到公网上去,让所有人都能访问。

     

    3.1 本地网站到公网域名的映射

         想要将自己本地电脑上运行的网站发布到公网,让所有的人都可以访问看起来是很麻烦的一件事情。因为你首先要有一个域名,然后还要在本地的路由器上配置端口映射,而且还要特别注意防火墙的设置。但是,现在我给大家推荐一个非常好的工具:新花生壳动态域名工具。通过这个工具,你不需要设置路由器的端口映射,也不必管防火墙的设置,甚至连域名都不需要申请,因为这一切,新花生壳都已经帮你解决了。好了,闲话还是少说,以免有广告之嫌。那我们正式开始教大家如何将你自己电脑上运行的网站发布到互联网上去让所有人都可以访问。

    1.   首先,你在本地要有一个可以运行的网站,如果没有自己新建一个web项目,然后运行起来。例如:我在eclipse新建了一个java的web项目,只有一个jsp页面,并且在tomcat里面启动运行起来。



    2.   自己在浏览器输入:localhost:8089/Demo访问一下,看是否能打开首页。(你的url地址可能与我的不同)

    3.   能打开的话,接着从这里:https://console.oray.com/passport/register.html 注册一个花生壳的帐号。在这里:http://hsk.oray.com/download/下载“新花生壳客户端”,安装后使用注册号的帐号登录。



    4.   登录后,马上就可以看到花生壳帮我们分配的免费2级域名了,我的是:walkingman123.vicp.cc



    5.   点击红圈处的图标进行域名诊断,结果出现“成功”字样则表示域名映射成功了。


    6.    回到域名列表页面,右键-》新花生壳管理



    7.在弹出页面点击添加映射。我们只需要在自定义应用选项卡里面填写我们的本地网站在内网的ip地址和端口号就可以了(注意勾选“开启外网HTTP80端口”),例如我的:


    8.点击确定后,通过花生壳给我们分配的2级域名就可以在互联网上的任何地方访问我们的网站了。这样,我们就把我们本地电脑上的web网站放到了互联网上。

     

    3.2 填写微信平台的接口配置信息

        接下来,把我们的2级域名填写到接口url里面(注意带应用名称)

    Token 自己随意输入一个字符串(主要用于校验,后面会详细说明),例如:wx123

     

        点击提交。

     

        到这里 我们的本地服务器的环境配置就完成了,下一讲我们开始微信平台公众号的开发。

     


    展开全文
  • 我们可以看到输入url链接(ip+端口号)访问的是tomcat而不是页面 解决方法: 1.找到server下server.xml 2.删除path值 3.重新运行tomcat 4.刷新微信web开发者工具的链接,好了,访问到页面了。 ...

    首先附上出现问题图:

    我们可以看到输入url链接(ip+端口号)访问的是tomcat而不是页面

    解决方法:

    1.找到server下server.xml

    2.删除path值

    3.重新运行tomcat

    4.刷新微信web开发者工具的链接,好了,访问到页面了。

    展开全文
  • 有过微信公众号开发的前端都应该遇到过怎么本地调试的问题吧,在微信开发的时候 需要填写与微信服务器相连接的url,而这个url必须是外网域名,也就是说我们需要在这个外网域名对应的ip服务器上做开发,而没办法本地...
  • 我们在申请测试帐号时,微信需要指定一个URL和TOKEN,这样微信可以根据分配给你的APPID和SECRET来通过你提供的URL来认证并且通过这个接口返回你要的数据,所以也就是我们的程序和微信是能过这个URL来完成交互的,...
  • 服务器URL配置 是微信公众号开发里非常重要的一个步骤。 虽然微信公众平台已经给了我们很多 必要的功能 像:查看用户,查看用户消息,给用户回复消息,自动给用户回复消息,根据用户消息内容回复给用户图文消息等...
  • 我正在学习java,感觉微信开发很有意思,整了两天,连基本配置都配不好. 尤其是url和token,不是url超时就是token验证失败.求前辈指导
  • 微信公众开发者模式,首先需要填写URL和Token,其中URL是开发者用来接收微信服务器数据的接口URL。Token可由开发者任意填写,用作生成签名(该Token会和接口URL中包含的Token进行比对,从而验证安全性)。而有时当...
  • 过年前后做了个微信公众号项目,已经过去一段时间了,抽空回忆总结下基本流程吧,不然很快估计自己就忘了。。 微信公众平台官网:https://mp.weixin.qq.com 文章目录一、注册公众号二、了解公众号管理页面三、必备...
  • 关于微信公众号中的订阅号和服务的区别这里不多加讨论,网上有很多资源可以搜到,这里直接进入正题,如果是个人开发者,这里建议使用测试号进行开发学习,测试号的权限要比个人订阅号要多的多,而本篇博客也是基于...
  • 测试开发时,用的ngrok映射到本地ip+自定义端口,开发到了网页授权阶段,地址被发现没有备案,瞬间被禁了。改用了花钱买了的natapp映射地址。开发完毕后,准备正式上线了。 正式上线使用的是阿里云ECS,域名也是买的...
  • .net C#微信公众号开发

    2020-06-17 16:32:09
    .net C#微信公众号开发 #一、开发准备工作 打开微信公众平台,主页左侧找到 “开发”栏目,选择基本配置,获取AppId,appsecret。 开发者密码需要管理员授权查看。 二、服务器配置 1、主页左侧找到 “开发”...
  •  我想进行微信公众号开发遇到的第一个困难就是微信公众号必须输入一个外网可以访问的域名,在网上我看到的都是使用ngrok或者花生壳的。但其实没必要这么麻烦。那么如何做呢?  1.下载QQ浏览器  我想程序员用的...
  • JAVA微信开发QQ群:211202664   相信很多人对微信开发已经不那么陌生,我也是从一个微信开发的菜鸟经过各种问题的折磨,然后去搜索引擎搜索各种文章阅读,但是基本都是零散的资料,没有一个统一、系统的阐述...
  • 诸多APP开发者也都致力于微信公众平台的研究,而在开发平台认证的时候,必须通过80端口认证。  配置花生壳端口映射  1、至花生壳官网(http://hsk.oray.com/)下载花生壳3,并完成安装;    2、点击内网映射...
  • 微信公众号开发使用测试号 一直提示管理失败过程是这样的: 只需要三个步骤就可以搞定 1:在微信的测试公众平台填写服务器地址URL和Token. 2:在自己的服务器写个简单的controller, 返回微信请求的信息 3:在...
  • 在进入微信开发前,首先我们要将我们的ip映射成url访问地址,这里我用的是natapp,感觉还是挺稳定的,只不过映射的地址搁一段时间会被替换掉natapp的下载地址https://natapp.cn/接下来进入到微信的公众号平台里面去...
  • 微信开发实战(4)—URL、Token认证、java源码、免费新浪SAE部署 上篇文章概要介绍了微信公众号开发的原理,偏重于讲解理论。 本篇文章通过Java web应用实现微信公众号的URL、Token认证。并部署到免费的...
1 2 3 4 5 ... 20
收藏数 14,746
精华内容 5,898
关键字:

微信开发url可以是ip吗