第一部分——环境的搭建,开发接入与URL有效性验证

一、发环境的搭建

最近貌似Sunny-Ngrok无能正常使用,由于时间关系就转另外一个内网穿透,本次并没有使用ngrok转向使用frp

Frp比ngrok更加方便,由于本人使用的是Linux系统,本次开发环境的搭建就以Linux为主,Windows应该类似。

1、客户端下载

选择相对应的版本进行下载

本人使用的是Linux 64位版本

注意:386是32位的版本

客户端只用下载frpc和frpc.ini,其中后者是配置文件

2、客户端的配置(frpc.ini)

Linux客户端的配置

Linux下使用命令修改配置文件:

vim frpc.ini  

配置文件内容如下:

1.   [common]
2.  server_addr = frp2.chuantou.org
3.  server_port = 7000
4.  privilege_token = www.xxorg.com
5.  protocol = kcp
6.  user = worldyao
7.
8.  [xxorg]
9.  type = http
10. local_ip = 127.0.0.1
11. local_port = 8080
12. subdomain = worldyao
13.
14. [tcp3389]
15. type = tcp
16. local_ip = 127.0.0.1
17. local_port = 3389
18. remote_port = 53389  

其中修改的部分是:

user这里随便填写

user = worldyao  

这里是端口号,此处我用的是Tomcat的默认端口号8080,该个配置文件的默认端口号是80

local_port = 8080  

这个是前缀,设置这个之后你的访问地址将是:http://worldyao.frp2.chuantou.org

subdomain = worldyao  

Windows客户端的配置

frpc.ini的参数设置同Linux一样仅仅是启动方式不一样

3、启动服务

Linux下使用命令:

sudo ./frpc -c ./frpc.ini  

Windows下控制台

cmd命令

frpc.exe -c frpc.ini  

PowerShell命令

 .\frpc.exe -c frpc.ini  

二、开发的接入和验证URL的有效性

粉丝服务平台开发模式接入流程

第一步:申请消息接口

第二步:验证URL有效性

第三步:获取AccessToken

第一步:申请消息接口

在微博开放平台中新建粉丝服务应用

创建应用完成后-->找到该应用-->完善应用(可以不用审核)

可以看到粉丝服务平台的

App Key和App Secret,记录这两个参数

第二步:验证URL有效性

在开发者首次使用事件推送服务时,需要先通过一次校验来和微博服务器建立首次连接,具体来说:
开发者提交信息后,微博消息服务器将发送GET请求到填写的URL上,GET请求携带四个参数:

校验参数字段

字段类型

字段说明

signature

string

微博加密签名,signature结合了开发者的appsecret、和请求中的timestamp参数,nonce参数

timestamp

string

时间戳

nonce

string

随机数

echostr

string

随机字符串

开发者收到请求后,首先通过加密后的signature参数来校验GET请求的真实性,如果确认此次GET请求来自微博服务器,原样返回echostr参数内容就可以成功建立首次连接,否则连接失败。

1、打开eclipse,新建一个名为WeiBo的Web项目,新建一个cn.json.weibo的package,在该包下新建一个名为WeiBo的java文件。具体代码如下:

①WeiBo.java

package cn.json.weibo;public class WeiBo extends HttpServlet{private static final long serialVersionUID = 1L;public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {String signature = request.getParameter("signature");   // 微信加密签名 String timestamp = request.getParameter("timestamp");  // 时间戳 String nonce = request.getParameter("nonce");         // 随机数  String echostr = request.getParameter("echostr");        // 随机字符串PrintWriter out = response.getWriter();// 通过检验signature对请求进行校验,若校验成功则原样返回echostr,表示接入成功,否则接入失败if (Check.checkSignature(signature, timestamp, nonce)) {out.print(echostr);}out.close();}/** * 处理微博服务器发来的消息 */ public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {}
}  

②、配置Servlet(修改web.xml)

在web.xml文件加入以下代码

  <servlet><servlet-name>WeiBo</servlet-name><servlet-class>cn.json.weibo.WeiBo</servlet-class></servlet><servlet-mapping><servlet-name>WeiBo</servlet-name><url-pattern>/WeiBo</url-pattern>  </servlet-mapping>

③、项目树图

④、部署运行,发布

④、服务器的配置

URL填写:服务器地址+项目名称+调用的Servlet

AppKey:从粉丝服务平台应用获取的AppKey

Java开发微博粉丝服务(1)——环境的搭建,开发接入与URL有效性验证相关推荐

  1. Java开发微博粉丝服务(3)——自定义菜单的设定

    第三部分--自定义菜单的设定 文档编写:董尧 日期:2018.6.5 一.自定义菜单创建接口 二.自定义菜单查询接口 一.自定义菜单创建接口 1.请求说明 请求的URL地址 https://m.api ...

  2. 微博粉丝服务---“公众号”开发

    微博粉丝服务是参考微信公众号的形式进行的新型交流平台,但是相关资源却比较少,而微信端的后台开发资源较多,因此写了这一篇博客,为自己以后,以及需要的人提供有效的参考. 1.创建粉丝应用 微博" ...

  3. Win10 IoT C#开发 1 - Raspberry安装IoT系统及搭建开发环境

    原文:Win10 IoT C#开发 1 - Raspberry安装IoT系统及搭建开发环境 Windows 10 IoT Core 是微软针对物联网市场的一个重要产品,与以往的Windows版本不同, ...

  4. 【Java开发语言 01】第一章 Java语言概述(基础常识+Java语言概述+Java程序运行机制及运行过程+Java语言环境的搭建+开发体验hello world+错误:编码GBK的不可映射字符)

    java入门-第一章Java语言概述 1基础常识 软件开发 人机交互方式 常用的DOS命令(win系统,有一些直接通过命令执行的) 2 Java语言概述 什么是计算机语言 关于面向对象和面向过程 Ja ...

  5. jeston nano开发板 在ubuntu18.04环境下搭建的ROS和arduino小车

    一.准备安装Ubuntu系统 (在vmware上安装)#方便后面的调试 首先,需要我们去官网下载镜像文件,但是由于官方的服务器搭建在境外,因此我们更倾向于使用国内镜像进行下载,比如清华大学镜像,一般来 ...

  6. 第2章搭建CRM项目开发环境(搭建开发环境)

    2.2搭建开发环境 2.2.1创建crm项目 使用IDEA创建Empty Project,作为项目的工作空间 2.2.2创建crm模块 创建maven类型的模块,作为开发工程 2.2.3为项目添加me ...

  7. 微服务基本环境的搭建

    order-payment spring-cloud 环境的搭建 订单模块 服务消费者 支付模块 服务提供者 payment, CommonOrder公共抽取 这里使用maven聚合的方式构建微服务. ...

  8. ESP32实用教程(一)开发软件的选择及环境的搭建

    1.ESP32介绍: ESP32是乐鑫信息科技(以下简称乐鑫)推出的一块WIFI芯片.ESP32 集成了天线开关.射频 balun.功率放大器.低噪放大器.过滤器和电源管理模块,整个解决方案占用了最少 ...

  9. java maven 开发环境_Maven 搭建开发环境

    下载解压: $ curl -O http://mirrors.hust.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bi ...

最新文章

  1. Python核心模块——urllib模块
  2. 学习SPI的一些疑惑
  3. itextsharp php,C#_C#使用iTextSharp设置PDF所有页面背景图功能实例,本文实例讲述了C#使用iTextSharp - phpStudy...
  4. ORACLE物理DG日常管理
  5. realloc函_[转载]realloc函数的使用及注意事项(转)
  6. CPU怎么认识代码的?
  7. 高等数学(七)- 多元函数微分学(2)【多元函数极值问题】
  8. Huffman-哈夫曼编码算法详解
  9. java创建一个自己的类库_建立并使用自己的类库
  10. 计算机应用程序没声音怎么办,电脑没声音怎么办
  11. 各互联网技术领域pdf图书合集(百度网盘)
  12. (HDU-1564)Play a game(博弈论)
  13. 做项目遇到的一些CSS问题
  14. 实现windows与ubuntu的之间的复制与粘贴
  15. Python爬取美桌网美女图片
  16. GitHub个人Blog完全攻略
  17. 解决mysqld: [ERROR] Found option without preceding group in
  18. Leetcode_154_Find Minimum in Rotated Sorted Array
  19. 美团后台开发笔试-数字字符
  20. Moveit!入门教程-配置助手

热门文章

  1. 上网行为管理学习笔记
  2. 计算机英语反义词,计算机英语的学习方法
  3. 2021年中国同城配送行业发展势头良好,越来越受资本家的青睐[图]
  4. 创业中不需要讲的五大理由
  5. 《暗时间》读书笔记及读后感(2)
  6. 内网穿透工具frp简易教程
  7. 使用containerd和cilium部署kubeproxy-free的k8s集群
  8. 软考网络工程师(六)
  9. Android提高第十一篇之模拟信号示波器
  10. 法拉第未来向SEC承认信息披露不准确、不完整