webapi 向端口post消息_webapi 测试端口 - CSDN
精华内容
参与话题
  • .NET WebAPI post参数传递

    万次阅读 2018-08-30 09:52:38
    可行的传参形式 键值对对应 dynamic动态类型(非跨域) 实体类 JObject参数(推荐) ... url: host + '/api/Source/TestParams', type:"post", data: { '': "Amon"}, ...

    可行的传参形式

    1. 键值对对应
    2. dynamic动态类型(非跨域)
    3. 实体类
    4. JObject参数(推荐)

    1.键值对对应

    这里所说的键值对并非是一般的键值对,是指键为空,值不为空的键值对
    前台请求

    $.ajax({
        url: host + '/api/Source/TestParams',
        type:"post",
        data: { '': "Amon"},
        success: function(a) {
            console.log(a);
        }
    });

    后台
    这里写图片描述

    可以看到后台是接收到参数了的,但是这种方式只能传一个键值对参数,{'': 'Amon', '': 'male'} 这种参数是接收不到的,当然也可以把所有参数序列化为字符串,后台再进行反序列化,但是这种方式较为繁琐,所以不推荐

    2.dynamic 动态类型(非跨域)

    这种传参方式在非跨域环境下可行,但是在跨域环境下,前台请求时会出现 405 错误,虽然通过调整ajax请求参数会解决这个错误,但是后台无法正常接收参数
    前台请求

    $.ajax({
        url: host + '/api/Source/TestParams',
        type:"post",
        contentType: 'application/json',
        data: JSON.stringify({ 'name': "Amon", sex: 'male'}),
        success: function(a) {
            console.log(a);
        }
    });

    后台
    这里写图片描述

    当前传参方式在非跨域环境中测试为可以正常传参,跨域环境暂未找到解决方法,如果有解决方法,欢迎交流

    3.实体类

    实体类是相对来说比较简单的一种传参方式,跟我们平常采用的传参方式相似
    前台请求

    $.ajax({
        url: host + '/api/Source/TestParams',
        type:"post",
        data: { 'name': "Amon", sex: 'male'},
        success: function(a) {
            console.log(a);
        }
    });

    后台
    这里写图片描述
    这里写图片描述
    这种传参方式需要声明一个实体类,所以说在改变传参时,相应的要去更改实体类,灵活性不是很高

    4.JObject 参数(推荐)

    JObject传参方式是个人比较推荐的一种方式,前台请求传参写法不具迷惑性,后台接收也较为灵活
    前台请求

    $.ajax({
        url: host + '/api/Source/TestParams',
        type:"post",
        data: { 'name': "Amon", sex: 'male'},
        success: function(a) {
            console.log(a);
        }
    });

    后台
    这里写图片描述

    如果有其他的传参方式,欢迎交流

    展开全文
  • WebAPI 和 webservice的区别

    万次阅读 2016-05-17 10:13:25
    webapi无状态,相对webservice更轻量级。webapi支持如get,post等http操作http soap关系http:是一个客户端和服务器端请求和应答的标准(TCP)。http协议其目的是为了提供一种发布和接收htttp页面的方法一http协议的...

    WebAPI 和 WebService的区别

    webapi用的是http协议,webservice用的是soap协议
    webapi无状态,相对webservice更轻量级。webapi支持如get,post等http操作

    http soap关系

    http:是一个客户端和服务器端请求和应答的标准(TCP)。http协议其目的是为了提供一种发布和接收htttp页面的方法

    一http协议的客户端与服务器的交互:由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,比如”HTTP/1.1 200 OK”,和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。

    soap 协议:它描述了一种在分散或分布式的环境中如何交换信息的轻量级协议。soap在http协议的基础上,一个基于XML的协议。

    不同:都是底层的通信协议,请求包的格式不同而已,soap包是XML格式,http纯文本格式。

    关系:SOAP是个通信协议, SOAP在HTTP协议的基础上,把编写成XML的REQUEST参数, 放在HTTP BODY上提交个WEB SERVICE服务器(SERVLET,ASP什么的) 处理完成后,结果也写成XML作为RESPONSE送回用户端, 为了使用户端和WEB SERVICE可以相互对应,可以使用WSDL作为这种通信方式的描述文件,利用WSDL工具可以自动生成WS和用户端的框架文件,SOAP具备把复杂对象序列化捆绑到XML里去的能力。
      

    WCF和WEB API我该选择哪个?
      1、当你想创建一个支持消息、消息队列、双工通信的服务时,你应该选择WCF
      2、当你想创建一个服务,可以用更快速的传输通道时,像TCP、Named Pipes或者甚至是UDP(在WCF4.5中),在其他传输通道不可用的时候也可以支持HTTP。
      3、当你想创建一个基于HTTP的面向资源的服务并且可以使用HTTP的全部特征时(比如URIs、request/response头,缓存,版本控制,多种内容格式),你应该选择Web API
      4、当你想让你的服务用于浏览器、手机、iPhone和平板电脑时,你应该选择Web API

    SOAP:Simple Object Access Protocol
    简单对象访问协议(SOAP)是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。 SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。

    HTTP协议: 应用层
    TCP协议 : 传输层

    HTTP协议详解之响应篇

    在接收和解释请求消息后,服务器返回一个HTTP响应消息。
    

    HTTP响应也是由三个部分组成,分别是:状态行、消息报头、响应正文
    1、状态行格式如下:
    HTTP-Version Status-Code Reason-Phrase CRLF
    其中,HTTP-Version表示服务器HTTP协议的版本;Status-Code表示服务器发回的响应状态代码;Reason-Phrase表示状态代码的文本描述。
    状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:
    1xx:指示信息–表示请求已接收,继续处理
    2xx:成功–表示请求已被成功接收、理解、接受
    3xx:重定向–要完成请求必须进行更进一步的操作
    4xx:客户端错误–请求有语法错误或请求无法实现
    5xx:服务器端错误–服务器未能实现合法的请求
    常见状态代码、状态描述、说明:
    200 OK //客户端请求成功
    400 Bad Request //客户端请求有语法错误,不能被服务器所理解
    401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
    403 Forbidden //服务器收到请求,但是拒绝提供服务
    404 Not Found //请求资源不存在,eg:输入了错误的URL
    500 Internal Server Error //服务器发生不可预期的错误
    503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
    eg:HTTP/1.1 200 OK (CRLF)

    2、响应报头后述

    3、响应正文就是服务器返回的资源的内容

    http://www.cnblogs.com/li0803/archive/2008/11/03/1324746.html

    展开全文
  • java发送qq消息到指定qq

    万次阅读 2017-12-07 11:19:02
    通过QQLite,实现运行javaweb项目给指定qq发送指定消息的功能,不需要添加好友都能收到消息

    相信大家也许在平时的开发中有过给指定qq推送消息的需求,本人最近开发过程中碰到了解决过程很艰辛特写下此博客方便大家,这里我要特别感谢QqLite的开发者:情留メ蚊子(http://www.qqlite.cn/)。

    首先我们下载Qqlite软件,解压后以管理员的身份运行QQLite.exe,跟大部分qq机器人一样我们登录qq账号,当然登录后会提醒你要购买权限(人家辛苦开发出来的也不能让别人的工作白干啊),我的需求是通过java服务端调用,下面请按照我的步骤来操作:

    第一步: 在插件管理下面找到插件商城。右键安装并运行该插件

    第二步:双击插件商城,搜索web接口,搜到web接口插件,下载更新该插件,然后我们就能在插件管理中看到该插件,此时再启用该插件

    第三步:在插件管理中双击web接口插件,然后弹出设置框,我们需要使用api调用这里我们只需要设置好api文档中(http://www.qqlite.cn/document/index/index.html#api_SendIM)需要的监听端口和key两个参数就可以了,接口地址不需要填写,api密匙这项对应的就是上述api中的key参数,端口切记要设定为没被占用的端口


    到此我们的配置就完成了现在就可以使用api调用实现对指定qq发送消息的功能

    第四步:通过post请求发送到 : http://服务器IP:监听端口/SendIM.do?RobotQQ=123456&Key=123456&QQ=123456&Message=%E6%B5%8B%E8%AF%95 

    其中服务器ip就是运行QQLite软件的服务器的ip,监听端口就是第三部设置的端口,RobotQQ就是你当前登录的qq,key就是你设置的Api密匙,QQ就是你要发送消息的QQ,Message就是内容。到此,我们的功能就完成了。

    本文只是指导手册,再次感谢蚊子大神的精妙之作。



    展开全文
  • WebAPI接口调试技巧

    千次阅读 2020-06-22 13:20:23
    1.了解WebAPI接口 接口模式:基于MVC4.0的WebAPI 承载协议:HTTP 跟踪工具:IE11 请求方式:POST 请求URL:IP:Port/Application/Controller/ActionName/Parameters 请求参数:一串由JSON对象转化而成的字符串 响应...

    1.了解WebAPI接口

    • 接口模式:基于MVC4.0的WebAPI
    • 承载协议:HTTP
    • 跟踪工具:IE11
    • 请求方式:POST
    • 请求URL:IP:Port/Application/Controller/ActionName/Parameters
    • 请求参数:一串由JSON对象转化而成的字符串
    • 响应状态:200(OK)
    • 响应结果: 一串JSON格式的数据
    • 响应类型:application/json

    2.WebAPI接口的URL规则

    • URL规则:IP:Port/Application/Controller/ActionName/Parameters
    • 示例:192.168.202.53/wszwdtapi_v6.6/taskkind/gettaskkindsbycodename
      IP:192.168.202.53,Port:80(默认)
      ApplicationName:wszwdtapi_v6.6
      Controller:taskkind
      ActionName:gettaskkindsbycodename
      Parameters:无

    3.HTTP请求模式

    • 两种最常用见的HTTP 请求方法:
      GET 和 POST
    • 标准版的利用方案:
      统一使用POST方式,为接口后台提供统一的参数处理规则。
    • 接口限制:接口会限制HTTP请求模式,如果限制了POST方式,则GET时会报404错误。
      | GET | POST |
      | ------------- |-------------|
      | 从指定的资源请求数据| 向指定的资源提交要被处理的数据 |
      | 参数必须以键值对的形式包含在URL中 | 建议参数以JSON字符串存放在请求体中 |
      | 请求体为空 | 利用请求体传数据 |

    4.HTTP状态消息

    • 常见的状态
      | 常见状态 | 注释 |
      | ------------- |-------------|
      | 200 OK | 请求成功 |
      | 304 Not Modified | 未按预期修改文档。 |
      | 403 Forbidden | 对被请求页面的访问被禁止。|
      | 404 Not Found | 服务器无法找到被请求的页面。|
      | 500 Internal Server Error | 请求未完成。服务器遇到不可预知的情况。|
      | 501 Not Implemented | 请求未完成。服务器不支持所请求的功能。|
      | 503 Service Unavailable | 请求未完成。服务器临时过载或当机。 |
      ####更多状态请点击这里

    5.常见的HTTP协议跟踪工具

    • IE/Chrome/FireFox等浏览器开发人员工具-网络工具
      (注:IE推荐使用10+,Chrome调试界面为英文)
    • Fildder(http://www.telerik.com/fiddler)
      Fildder基础原理
    • PostMan(Chrome插件) (https://www.getpostman.com/)

    6.科学的剖析接口调用情况

    • 当访问接口不成功,且初步排查没发现问题时,就应该先从HTTP请求入手,而不是耗费太多时间纠结在代码上。
    1. 打开调试工具,重复请求过程(刷新页面或重新点击提交按钮)
    2. 通过调试工具,查看是否存在对应的请求
    3. 如果不存在请求,现判断调用代码是否出现异常,有没有发出请求?
    4. 请求存在,判断请求状态码,顺藤摸瓜的分析原因。
      例如最常见错误,假如HTTP状态码为404,就可以通过判断IP、端口号,请求方式、URL字符串来确定是否是代码问题还是部署问题。
    5. 请求后得到状态码为200,那么再仔细研究下接口的传入数据和传出数据。
      ###7.使用Fiddler工具分析传入数据与返回数据
      ####使用Fiddler工具
    6. 打开Fiddler
    7. 利用浏览器访问对应的页面
    8. 在Fiddler左侧请求列表中,找对刚才的页面
    9. 点击选中,在Fiddler右侧查看详细数据。请求正文

    响应正文

    这里写图片描述
    ####利用Fiddler右侧Composer模拟请求

    1. 选择请求方式Get或者Post
    2. 输入URL
    3. 如果有参数,在Request Body中输入
    4. 点击Excute,发送请求
    5. 在右侧Log Requests中选择刚执行的请求
      Composer模拟请求

    8.常见问题的解决

    ####跨域问题

    • 当我们跟踪到带有关键字“Access-Control-Allow-Origin ”的错误时,说明我们遇到了跨域问题!如图:
      错误示例
      跨域问题的根本来自于浏览器的一个安全策略:同源策略
      所谓“同源”指的是“三个相同”:协议相同、域名相同、端口相同(IE浏览器下只需要满足协议及域名相同)
      如果非同源,共有三种行为受到限制。
    1. Cookie、LocalStorage 和 IndexDB 无法读取。
    2. DOM 无法获得。
    3. AJAX 请求不能发送。
    • 目前有三种方法规避这个限制。1.JSONP,2.WebSocket,3.CORS
      标准版统一采用CORS方式来规避同源策略。
    1. .Net中,在需要访问的接口的返回头中,加入“源信息”
      代码如下:HttpContext.Response.AppendHeader(“Access-Control-Allow-Origin”, “*”);
      或者在WebConfig中,为每个返回头加入“源信息”
    <customHeaders>
    <add name="Access-Control-Allow-Origin" value="*" /></customHeaders>
    

    ####常见的403错误

    • .Net模式的WebAPI的403错误,是一个典型的Web应用程序问题。
    • 现象:IP、端口完全正常,同台服务器部署的其他Web程序能正常访问,本接口在其他服务器上也能正常开放!根据状态码提示:该接口的应用程序本身存在问题。
      错误详情
    • 一般经验:.Net的WebAPI接口,是基于.Net的MVC框架,老版本IIS未必支持MVC机制,导致HTTP请求无法成功识别。一般情况将程序进程配置为集成模式即可。也有可能是因为未将.Net Framework4.0注册进IIS导致,通过命令注册即可。
    • 具体参考:http://blog.csdn.net/lingxyd_0/article/details/43154867
    • Unable To connect the Romote Server(无法连接到远程服务器)
    • 问题:Unable To connect the Romote Server(无法连接到远程服务器)
    • 分析:这两个问题,仍是接口不能访问导致的。问题表现形式较以往很大不同,是因为访问接口的不是JS代码,而是后台代码。
    • 结论:检查配置的接口地址是否正确,或者接口服务器是否开启。
    展开全文
  • 本地WEB外网访问、本地开发微信、TCP端口转发 平台登陆地址:http://www.ngrok.cc/login 新版本上线启动方式更简单使用视频教程 在路由器上面的使用视频教程 微信开发教程已在网易云课堂上线微信开发教程观看...
  • Asp.net WebAPI 构建后台数据接口

    千次阅读 2017-07-10 15:33:50
    选择WebApi,并使用空模板(这里不想要一些其他的mvc的东西)3.新建一个model4.写几个属性using System; using System.Collections.Generic; using System.Linq; using System.Web;namespace APITest.Models { ...
  • MVC搭建webAPI服务

    千次阅读 2018-06-28 12:03:35
    近期,有小伙伴再微信公众号中不断刷新SpringBoot的搭建过程,完美展示了java框架MVC思想的成熟与稳定。相比SpringMVC搭建过程而已,搭建过程更简洁明了。...完全是入门SpringBoot的绝世好帖。 本人是学习C#的,重心...
  • 《ASP.NET5》Web API Controller Class学习

    千次阅读 2016-02-27 15:29:19
    Web API Controller Class是VS2015中ASP.NET Web Application类型的项目中添加新项时的一种模板类型,该模板类型产生一个REST风格的接口类,示例代码如下:using System; using System.Collections.Generic; using ...
  • 《Asp.Net Web API》-----webApi的简单使用

    万次阅读 多人点赞 2016-09-29 16:16:08
    前言:在公司工作的时候,经理跟我说我们后台用的是WebApi技术,说它是一种轻量级的WCF,我以前用过WCF,但是对于WebApi有点不熟悉,但是经理说和WCF相似,我渐渐的对着门技术变得渐渐的好奇起来,下面由小编带领着...
  • C/S系统也可以和B/S系统一样实现“前后端分离”,那这样写winform就相当于纯粹的前端页面了,然后再单独部署一个webapi项目,通过api调用数据库进行数据的操作,有利于维护和数据安全性的提高,那么winform怎么去...
  • 前端网站连接MySQL数据库

    万次阅读 多人点赞 2018-12-15 15:57:02
    实现本地web服务器与MySQL数据库连接删改,查找。 文章目录前端(Vue.js)连接MySQL数据库实现本地web服务器与MySQL数据库连接删改,查找。目录结构整体逻辑监听后端服务器连接数据库配置与数据库表连接入口sql语句...
  • 修改rabbitmq Web UI 监控页面的端口

    万次阅读 2015-11-03 11:04:47
    在前几天工作中遇到一个问题,部署服务器,需要用rabbitmq自带的一个web UI监控组件,但是15672的端口没有对外映射。尝试了几种办法。开始修改rabbitmq.config,rabbitmq-ebv.config,总是不成功,因为修改的是...
  • 初尝Web API

    万次阅读 2012-11-10 22:05:50
    HTTP 并不是只能用在网页中。它其实还是一个强大的平台,可以用来生成一些API,暴露服务和数据。... ASP.NET Web API 是.NET Framework上的一个框架,用来生成 web API。 本文将使用ASP.NET Web API
  • Android手机客户端与Web服务器的通信

    千次阅读 2016-04-13 11:04:45
    一、Android手机访问Web服务器 ...提交数据用GET或者POST方法,客户端的数据通过浏览器网页提交给web应用服务器,应用服务器通过Web页面接收各种不同类型数据,将数据通过服务器的Servlet子类HttpServlet
  • 在发布时不要用localhost+端口发布,发布时获取下服务器的IP地址InetAddress address = null; try { address = InetAddress.getLocalHost(); } catch (UnknownHostException e) { e.printStackTrace(); } String ...
  • ssm+vue前后端分离框架整合(附源码)

    万次阅读 多人点赞 2019-04-15 22:29:43
    前言 本文针对Spring+SpringMVC+Mybatis后台开发框架(基于maven构建)与vue前端框架(基于webpack构建)的项目...项目有service和web两个子项目组成,web依赖于service,其中web主要是control层内容,service则对...
  • workerman 实现消息推送

    万次阅读 2016-07-23 09:21:05
    WEB消息推送框架 web-msg-sender是一款web长连接推送框架,采用PHPSocket.IO开发,基于WebSocket长连接通讯,如果浏览器不支持WebSocket则自动转用comet推送。 通过后台推送消息消息可以即时推送到客户端,非...
  • C# Jenkins 自动构建

    千次阅读 2015-11-20 17:29:51
    一、创建jenkins 项目 1、 安装jenkins,MSBuild,Tomcat ,WDeploy必须安装 ...8080:默认端口) 3、 安装插件:系统管理—管理插件 Log Parser Plugin MSBuild Plugin Post-Build Script
  • CDH介绍hadoop组件的端口: https://www.cloudera.com/documentation/enterprise/latest/topics/cdh_ig_ports_cdh5.html Hadoop官方介绍web hdfs: ...
  • 简单介绍 ...HTTP默认使用80端口,这个端口指的是服务端的端口,而客户端...当我们没有指定端口访问时,浏览器会默认帮我们添加80端口。我们也可以自己指定访问端口如:http://www.ip138.com:80。 需...
1 2 3 4 5 ... 20
收藏数 42,117
精华内容 16,846
关键字:

webapi 向端口post消息