6.1、小程序访问http服务器(C#)

一、IIS配置

IIS (Internet Information Services)是windows的系统组件,可以按用户的要求来安装和卸载。 其作用是(根据用途来说)在做网页设计(其中重点是网页设计类的汇编语言如:asp、java等)的基本服务器(即本地服务器),可以用它来实现和运行(测试)你所制作的网页。

1、打开程序功能:

2:找到IIS (Internet Information Services),并把底下的“Web管理工具”、“万维网服务”以及子项全都勾选

         Win7系统是这样的:

3、点击确定,有时需要联网下载些相关数据。配置完成后此页面会自动关闭。关闭后再打开一次,看“Web管理工具”、“万维网服务”两个是否都勾选,要是都勾选,说明打开IIS服务成功,若没有则说明没有打开。

4、成功后在 计算机管理中 即可看到IIS

5、打开计算机管理中的IIS,并在“网站”选项添加一个网站

        

6、命名hhtest,并且选择一个存放改网站的路径:D:\webStudy\Web

        

7、点击“启动”


8、点击目录浏览

9、点击启用

10、完成后在上面自动存放网页的目录下新增了一个web.config

11、打开网站测试:

        

12、网页可以打开成功,说明创建完成。D:\webStudy\Web文件夹里的所有文件也会显示到网页上如web.config,要是把其他图片视频等文件放到这个文件夹,这里也会显示出来

二、VS中打开网页

1、打开:

2、即可看到,之前我们在IIS中配置的所有网站,再选中打开:

        

         完成后:

3、添加网页窗体:

4、选中开会语言,并命名窗体:

5、这里就会生成一个C#文件,若上一步中选择的是VB.NET的语言,这里对应就会生成vb.net的文件

7、在Win7上,默认新建的IIS的.NET版本是2.0的,为了提高性能。需要把2.0升级到4.0

8、这里选择4.0后,会报错:

9、解决办法:

10、找到:C:\Windows\Microsoft.NET\Framework\v4.0.30319

11、以管理员模式运行CMD

12、等待完成

13、暂且到这里,先开发完小程序再回这里修改

二、新建小程序

1、把默认两个页面删除,新建一个新Web页面,并设置不校验合法域名。因为这个是在本地测试

2、有上面可知,访问服务器的地址是:http://localhost/hhtest.aspx

3、页面添加输入组件,按钮,输出组件,并配置绑定变量

4、按钮点击函数调用网络请求

  BtnWeb:function(even){

    // console.log(InputStr)

    let that=this;

    wx.request({

      url: 'http://localhost/hhtest.aspx', //仅为示例,并非真实的接口地址

      data: {

        keyword: InputStr //InputStr输入框的值通过keyword传递给服务器

      },

      header: {

        'content-type': 'application/json' // 默认值,这里固定

      },

      success(res) {

        that.setData({ hhOutPut: res.data }) // 成功后把她显示到结果区域

      }

    })

  },

5、在VS中运行程序,并加断点。当点击按钮是发现程序会运行到断点处。即说明通讯成功

7、在刚刚断点处加处理。

             protected void Page_Load(object sender, EventArgs e)

    {

        Int16 kw=0;

        kw = 9;

        string GetS = Request["keyword"];//从服务器接收到的数据

        string SendS = GetS + (已处理123";//在尾部增加字符串

        Response.Write(SendS);//返回给客户端

    }

8、效果:

        

9、虽然已经看到成功字符串,但是后面多了一大串不需要的。

         发现底下两段几乎一样,把它从VS的hhtest.aspx文件中删除即可

10、最终效果:

11、此时表示本地服务器测试访问OK,假如小程序上线,在外网是访问不到这个IIS服务器的。要访问到,有两个办法:

(1)、用花生壳软件,把自己点到的IP映射到外网,外网可以访问到本地的文件

(2)、租一台服务器,安装IIS后,新建网站后。把网站文件夹里的文件拷贝到服务器新建的网站上:(未测试过)

        

三、花生壳外网访问

官网下载花生壳,并按一下步骤配置

1、选择https,因为小程序里只能用这个协议。需要交钱(88元/年)。

                            http是6元/年,但是微信小程序不支持

2、就是花生壳分配给我们的域名,外网要访问本地,必须要访问这个域名:https://294k1p5882.qicp.vip/

3、外网端口,不用管,自己生成的。

4、内网主机IP,即当前电脑上网的网卡,的IPV4地址172.20.10.4。查看办法:cmd  窗口  ipconfig /all

                           

5、内网端口:IIS配置第六步中配置的端口。上面填多少这里就要填多少。

6、保存

7、测试外网是否可以运行

         (1)、用浏览器打开内网的网址http:// 172.20.10.4 可以看到网站文件夹里的文件

                            注:这里用的是http

         (2)用浏览器打开:https://294k1p5882.qicp.vip/

                   看到的要跟前面一模一样。

                  

         (3)、把这网址https://294k1p5882.qicp.vip/ 发给其他手机后电脑,打开也要能看到一模一样的东西

8、若失败,则点这里:

9、会显示失败原因:下面显示正常,若失败,可以到官网直接联系客服,付费的账号,两个小时能得到回复。

10、整体原理

(1)、在计算机管理中新建一个网站保存到一个本地文件夹D:\webStudy\Web中,完成会在该文件夹中生成web.config文件,用http:// 172.20.10.4以浏览器的方式可以打开保存网站的文件夹(即在网页上可以看到web.config文件,若把其他文件也放在这个文件夹也是可以看到的)

(2)、用花生壳把http:// 172.20.10.4映射到外网,会生成一个域名https://294k1p5882.qicp.vip/,当以浏览器访问这个域名时,跟用http:// 172.20.10.4看到的效果是一样的

(3)、到这里为止,都跟微信小程序无任何关联,用VS打开在IIS中建立的网站,在网站你编写网站代码hhtest.aspx,这些文件会自动保存到D:\webStudy\Web中,供外网使用(只有这个文件夹可以通过域名访问) 后面小程序就可以通过外网访问到这个网站的代码hhtest.aspx做相关处理

四、再次配置小程序

1、把url从

                   http://localhost/hhtest.aspx

改成:域名 + / + hhtest.aspx

                   https://294k1p5882.qicp.vip/hhtest.aspx

        

2、到微信公众平台的小程序里配置小程序需要用到的域名:

        

3、确认配置成功:在开发软件中打开详情,看看刚刚在公众平台网站配置的域名有没有这里显示,若显示表示成功

4、打开合法性检验:这里的勾去掉

5、测试:要是能成功发回,则说明访问外网成功

6、上线是单单通过一个keyword ,也可以多参数请求。原理跟keyword一样,即C#服务器这边的Request里的字符串要跟微信网络请求里data下的一致。

    小程序

         C#

五、打包上线

1、上传代码:

2、打开微信公众号网站:会看到上传代码。点击提交审核。审核通过后,会在“审核版本”栏,出现成功结果,和以及全面发布按钮,再次点击发布按钮,它才算发布成功。一个月只能提交5次审核。免费的。

        

3、发布后,手机里不会自动有小程序,需要扫码推广。

4、扫描这个二维码即可

六、请求字符串长度限制

1、若请求长度过长:会报错请求的查询字符串大于所配置的值

2、解决办法:打开IIS创建的网页,并且找到“请求筛选”,并打开

   

3、打开编辑功能设置

4、把底下的几项都改大

5、然后重启网站

6、再次发送请求,可以通过

7、其实刚刚修改的那三个参数,会同步到web.config文件上的,也可以通过修改web.config来实现。

8、继续增大一次请求量,发现会报错:414 (Request-URI Too Long) 目前仍然没办法

9、服务器响应数据量较大,似乎限制少。可以返回很多数据。经过测试返回1M的文字都没问题。

        

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值