,其实之前也想使用热门的前端框架 Vue 来做,也做了点工作了,但是毕竟不是前端开发,上手起来还是比较慢的,而且引入了 NodeJS 等技术栈,和后端的 ASP.NET Core WebApi 也不共存于一个项目...实际上用 Postman 也可以测试: 二、方法一(导航跳转) 那么我们在 Blazor 中如何调用呢?...这个实际上不是本文讨论的重点,本文讨论的是,使用代替了 JS 代码的 C# 代码来下载文件到浏览器。 三、方法二(下载后传出) 那么如何实现呢?...(一) 使用 RestSharp 下载 先来看看第一步,这里我们通过 Postman 得知可以使用 RestSharp 进行调用: 我们通过 NuGet 安装 RestSharp 后,代码可以这样写:...翻译: 在 Blazor 中通过 C#(不使用任何 JS 库和依赖)下载文件到浏览器。 BlazorDownloadFile 是在客户端保存文件的解决方案,它对于在客户端生成文件的应用来说是完美的。
NETCore提供了三种不同类型用于生产的REST API: HttpWebRequest;WebClient;HttpClient,开源社区创建了另一个名为RestSharp的库。...02 WebClient WebClient是一种更高级别的抽象,是HttpWebRequest为了简化最常见任务而创建的,使用过程中你会发现他缺少基本的header,timeoust的设置,不过这些可以通过继承...但这种“低效率”带来了巨大的好处:它需要更少的代码和隐藏了细节处理,更容易使用,并且在使用它时你不太可能犯错误。...,提供了异步支持,可以轻松配合async await 实现异步请求,具体使用可参考:NetCore 2.1中的HttpClientFactory最佳实践 04 RestSharp restsharp是开源社区贡献...,具有HttpWebRequest的细节控制和WebClient的使用简单的优点从而让他功能强大的同时又简化了操作(从他定义的接口可以看出真是一个优秀的http库啊) 05 结论 HttpWebRequest
微软原生自带类库 HttpRequest类库 在.Net4.0的框架上,只能用这个类库,在更高的框架.Net 4.5中,可以用HttpClient,比HttpRequest更高级的更易使用。...的更抽象的封装,几个方法即可返回想要的结果。...苏飞的httpHelper 这个类库是笔者一开始学习C#和在C#上学习网抓的第一个类库,可能现在已经迭代了好多版本了,网址是这个,自己有兴趣可以再了解。...同样地,现在使用它,我都是用的是我以前学习nuget封装时上传到nuget的一个版本,有兴趣的也可以直接从nuget上获取,和苏飞的一模一样的,哈哈。...网络爬虫和反爬虫,是一股正邪交锋的战场,在笔者2011年左右玩VBA爬虫,和如今炙手可热全民爬虫的环境已不同,普通爬虫程序已经没有什么可作为了,也就是说,参加了那些培训班速成出来的,也只能呵呵了。
在 C# 中,ASP.NET Web API 提供了一种模式和工具集,使得开发者能够方便地设计和实现对外暴露的API接口,这些接口可以被各种客户端应用程序(如Web浏览器、移动应用、桌面应用或其他服务器端应用...(2)RESTful 架构支持:它鼓励开发人员遵循 REST 设计原则,提供资源导向的服务,允许客户端通过标准HTTP方法访问资源。...(6)测试友好:由于其基于HTTP,Web API 容易进行单元测试和集成测试,并且可以配合Postman、Swagger等工具进行接口文档生成和测试。...活字格中的Web API 在活字格中,支持使用C#或VB.Net语言实现,可以运行在服务端,浏览器可以通过HTTP请求的方式调用服务端提供的Web API。...2、当通过HTTP的GET或POST调用方法时,可以通过ServerApi的Context属性获取请求的详细信息。
你可以把HTTP响应的数据流 (stream)绑定到一个StreamReader对象,然后就可以通过ReadToEnd()方法把整个HTTP响应作为一个字符串取回。...也可以通过 StreamReader.ReadLine()方法逐行取回HTTP响应的内容。...C# HttpWebRequest的作用: HttpWebRequest对HTTP协议进行了完整的封装,对HTTP协议中的 Header, Content, Cookie 都做了属性和方法的支持,很容易就能编写出一个模拟浏览器自动登录的程序...POST 方式通过在页面内容中填写参数的方法来完成数据的提交,由于提交的参数中可以说明使用的编码方式,所以理论上能获得更大的兼容性。...与以上稍有所不同的是, WebService 提交的数据内容和接收到的数据内容都是使用了 XML 方式编码。所以, HttpWebRequest 也可以使用在调用 WebService 的情况下。
/postmanlabs Postman的有点有以下几类: · 支持各种的请求类型: get、post、put、patch、delete 等 · 支持在线存储数据,通过账号就可以进行迁移数据 · 很方便的支持请求...,JSON 和 XML Postman最早是作为chrome浏览器插件存在的,现在一般下载独立的安装包,它同时支持MAC、Windows和Linux,window下面的安装包安装过程很简单,这里就不赘述了...2.Postman的基础功能 Postman的界面分为 左边的侧边栏 和 右边的请求构建器 两部分。请求构建器允许你可以快速的创建几乎任何类型的请求。...中截图 -> 方便看,但是不方便获得 API 接口和字段等文字内容 要么是用 Postman 中导出为 JSON -> json 文件中信息太繁杂,不利于找到所需要的信息 要么是用文档,比如去编写 Markdown...目前支持的代码类型有: · HTTP · C (LibCurl) · cURL · C#(RestSharp) · Go · Java · Javascript · NodeJS · Objective-C
postman 因为我们的接口可能会有很多参数或者我们的参数是json格式的(等等原因),直接用浏览器去请求不太方便,而且使用浏览器去请求也不能复用(没有保存的功能)。...但是等我用POSTMAN和IDEA自带的HTTP Clint去测试我自己接口的时候,一直都404了,我非常不明白为什么404了 明明我自己的机器从浏览器直接访问预发环境是没问题的啊 我将相同的URL放在...各种示例 更好用的是,我们可以定义变量(不同的环境使用不同的变量),我们可以定义http-client.env.json,里边写一些通用变量相关的值。...id=99 Accept: application/json 在执行的时候我们就可以选择不同的环境执行: ?...可以通过配置来帮我们快速切换对应的环境(变量),只要写一次的请求体,就可以用作于多个环境。 通过官方给的Examples我们也可以快速去了解如何使用,没有什么学习成本。
本文演示的代码,可以从这里下载:https://github.com/sdcb/blog-data/tree/master/2019/20190826-cnblogs-crawler-home 我的演示代码通过...其中.Dump()方法可以在Visual Studio中搜索并安装NuGet包即可兼容: Install-Package LINQPad 爬虫的三要素 经过我“多年”的爬虫骚操作的经验,我认为爬虫无非就是...下载网站数据 换作以前,有WebRequest/WebClient/RestSharp之类的选择,但如今已经都被HttpClient取代了,HttpClient同时内置于.NET Framework 4.5...如图,注意到,每一个页面按钮,都对应了一个不同的链接地址,如第2页,对应的的链接是:/sitehome/p/2,第3页,对应的是:/sitehome/p/3。...结语 实际应用的爬虫可能不像博客园这么简单,爬虫如果深入,可以遇到很多很多非常有意思的情况。 今天谨希望通过这个简单的博客园爬虫,让大家多多享受写.NET/C#代码的乐趣?。
=、、=、is 和 as) 逻辑运算符(&、^ 和 | ) 条件逻辑运算符(&& 和 || ) 空合并运算符(??)条件运算符(它也称为三元运算符,?...、序列化反序列化(ISerializable)、反射动态调用dll、反射动态配置扩展 常用类 IO类、Json.NET、Http辅助类(HttpClient、Restsharp、WebClient、WebRequest...XML Wcf/Wcf Rest:可以不依赖于IIS,基于SOAP,支持多种通信协议,但配置繁琐 测试工具:SoapUI......非对称加密(公私钥加密) 指加密和解密使用不同密钥的加密算法,分公钥和私钥 RSA,Elgamal,背包算法,Rabin,D-H,ECC......国产开源工作流 .Net常用工具及插件 Colorful-IDE:可以更换VS的壁纸 ReAttach:可以快速附加到进程(开源) C# Outline:VS代码块折叠插件 Reshaper:即时分析代码质量
默认的错误处理机制 浏览器访问,默认返回一个错误页面 ---- PostManHttp请求模拟工具,软件下载链接如下 PostMan下载链接 ---- 如果是其他客户端,默认响应一个JSON数据...或者是编写AbstractErrorController的子类】,放在容器中; 2、页面上能用的数据,或者是json返回能用的数据都是通过errorAttributes.getErrorAttributes...都是去容器中查看用户是否存在上面的错误相关的类,如果没有才会使用默认的配置类,因此我们可以通过重写上面的错误类,放入容器中,完成定制错误数据并携带出去 //给容器中加入我们自己定义的ErrorAttributes...@Component class MyErrorAttributes extends DefaultErrorAttributes { //返回值的map就是和页面json能获取的数据 @Override...map.put("company","大忽悠集团有限公司"); return map; } } 最终的效果:响应是自适应的,可以通过定制ErrorAttributes改变需要返回的内容
】进行测试(需要自行下载) 6.3、访问路径拼接方式: 6.4、HttpGet请求测试(可以在浏览器中测试即可) 6.5、HttpPost请求测试(必须使用模拟post请求的工具) 7、跨域配置 ...8、 测试【Ajax】的Get请求 9、测试【Ajax】的Post请求 前言: 本章节主要针对Web API进行基础教学以及强化训练,并对跨域操作做出详细的介绍与添加跨域配置信息,可以通过本文学会创建【...如果一个架构符合REST的约束条件和原则,我们就称它为RESTful架构。...虽然REST本身受Web技术的影响很深, 但是理论上REST架构风格并不是绑定在HTTP上,只不过目前HTTP是唯一与REST相关的实例。 ...】进行测试(需要自行下载) 6.3、访问路径拼接方式: 【http://localhost:端口号/api/{控制器名称}/{方法名称}】 6.4、HttpGet请求测试(可以在浏览器中测试即可)
HttpClient是ASP.NET Web API 的一部分,直接包含在.NET 4.5中,也可以单独安装ASP.NET MVC4,可以通过Nuget包获取,包里面包含以下3部分: System.Net.Http...是接收HttpResponseMessages和发送HttpRequestMessages的主要类,如果你习惯了使用WebClient或者是HttpWebRequest, 需要注意HttpClient和他们不同的地方...2、你通过一个单一的HttpClient实例,它有自己的连接池。 3、HttpClients不与特定的HTTP服务器绑定,你可以使用相同的HttpClient实例提交任何HTTP请求。...实例,设置要Post的数据的格式,然后调用HttpClient的异步请求,获取到的是一个HttpResponseMessage实例,可以在这个实例中检查请求的状态,调用的是一个扩展方法EnsureSuccessStatusCode...通过HttpResponseMessage的Content属性获取HttpContent,HttpContent有一些方法辅助处理接收的内容。
,这个属于 Spring MVC 框架中的接口,实现此方法就可以对捕获的异常进行解析处理,然后根据自身需要返回 ModelAndView 对象,以 JSON 数据或者页面形式响应客户端请求。...下方的示例代码处理了程序中发生的 IllegalArgumentException 异常时的情况,并通过 MappingJackson2JsonView 对象返回客户端一个 JSON 数据对象。...主要就是便于针对 REST 请求异常时直接返回 JSON 格式的数据,而不使用 ResponseEntity 对象方式传递数据。...,BasicErrorController 提供了两种数据形式的返回,一种是 HTML 页面,一种是 JSON 数据;如果我们直接使用浏览器访问接口的话见到的就是 errorHtml方法返回的 HTML...页面数据,它们的区别就在于请求时 Header 里 Accept 值的不同。
需要注意的是执行过程中不会抛出异常,但是可以在ErrorException 中访问到异常信息。...示例中通过AddParameter 方法添加的参数值将通过标准编码格式提交,类似于通过网页提交的表单。...如果是GET形式的请求(GET/DELETE/OPTIONS/HEAD) ,参数值将通过查询字符串提交,AddParameter() 方法也可以添加头信息和cookie 参数。...拥有处理XML和JSON的反序列化器,当收到响应时,RestClient通过服务器返回的Content Type 选择适合的反序列化器。...Product_id -> product_id) XML反序列化器可以通过设置属性的DeserializeAs 特性来改变如何与JSON的键映射。
大多数朋友是做后端的,也就是为其他系统或者前端UI提供Rest API服务。 那么Rest API怎么测试? 1)通过前端页面或者直接组装URL,然后使用浏览器提交表单。...2)通过专业的API测试软件、工具。如:postman,Jmeter等。 3)通过开发语言编写测试脚本,模拟Http请求。如:HttpURLConnection、HttpClient等。...4)通过单元测试工具(Junit、JTest等)。 1、springboot单元测试 在《springboot集成mybatis(一)》项目中,我们已经通过Junit编写了Dao层的测试案例。...提示:若只想测试某一个方法,请选中方法名再执行(Junit默认执行所有Test案例)。...、mapper均会报空指针 mvc = MockMvcBuilders.webAppContextSetup(context).build(); } //测试OrderController.add
,通过账号就可以进行迁移数据 很方便的支持请求 header 和请求参数的设置 支持不同的认证机制,包括 Basic Auth,Digest Auth,OAuth 1.0,OAuth 2.0 等 响应数据是自动按照语法格式高亮的...,包括 HTML,JSON 和 XML 以下内容主要参考: Github: api_tool_postman 安装 Postman 可以单独作为一个应用安装,也可以作为 chrome 的一个插件安装...设置 HTTP 请求的方法 设置 HTTP 的 Method 方法和输入 api 的地址 ? 设置相关请求头信息 ? ? 设置相关 GET 或 POST 等的参数 ?...目前支持的语言有: HTTP C (LibCurl) cURL C#(RestSharp) Go Java OK HTTP Unirest Javascript NodeJS Objective-C(...-> 方便看,但是不方便获得 API 接口和字段等文字内容 要么是用 Postman 中导出为 JSON -> json 文件中信息太繁杂,不利于找到所需要的信息 要么是用文档,比如去编写 Markdown
WebClient 是一种更高级别的抽象,相当于封装了request和response方法 WebClient是一种更高级别的抽象,是HttpWebRequest为了简化最常见任务而创建的,使用过程中你会发现他缺少基本的...header,timeoust的设置,不过这些可以通过继承httpwebrequest来实现。...相对来说,WebClient比WebRequest更加简单,它相当于封装了request和response方法,不过需要说明的是,Webclient和WebRequest继承的是不同类,两者在继承上没有任何关系...HttpClient(推荐) HttpClient是.NET4.5引入的一个HTTP客户端库 目前业务上使用的比较多的是HttpClient,它适合用于多次请求操作,一般设置好默认头部后,可以进行重复多次的请求...,基本上用一个实例可以提交任何的HTTP请求。
时进行初始化,值得一提的是在 .NET Core 调用的 WebRequest.GetSystemWebProxy 方法底层也是调用 HttpClient.DefaultProxy 属性 public...static IWebProxy GetSystemWebProxy() => HttpClient.DefaultProxy; 以上的 GetSystemWebProxy 实现请看 Make WebRequest.GetSystemWebProxy...在 WinInetProxyHelper 将会读取系统的代理 如上面代码,可以看到,实际上在 HttpClient.DefaultProxy 里面只会获取一次,没有通过注册表的变更再次刷新 这就是网络请求不跟随本机网络代理变化的原因...= dynamicHttpWindowsProxy; 代码的实现放在github 和 gitee 欢迎访问 可以通过如下方式获取源代码,先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,...可以测试在使用 HttpClient.DefaultProxy = dynamicHttpWindowsProxy; 时,切换 Fiddler 代理配置,和不使用 DynamicHttpWindowsProxy
这是Selenium和UFT/QTP等工具处理的部分。 但是,如果您已经进行了一段时间的自动化操作,您就会知道这些类型的测试是多么耗时,脆弱且难以维护。...API测试 中间服务层是创建诸如Rest-Assured和Postman之类的工具的“最佳位置” 。 服务测试的重点是验证许多小组件的交互是否可以集成在一起而不会出现问题。...基本思想是,您正在使用工具进行性能测试,但是在针对您的API运行例如负载测试之前,需要确保它实际上可以正常工作。因此,您想先进行功能测试,然后可以利用功能测试脚本完成性能测试。...例如: XML格式 XML是一种创建标记语言的方法,您可以使用它定义自己的标签。XML允许用户与众多系统共享结构化数据,包括通过Internet。...请求体 包含用于需要它的方法的数据,Get方法为空。
默认端口为801,IP为开发机器所在的IP 测试调试服务器 打开好调试服务器,就可以打开浏览器(推荐 使用360极速,谷歌浏览器) 输入http://192.168.0.99:801/1.fsp 根据开发机器修改...proc=sendJson 就可以看到输出JSON了。 也可以使用POSTMAN来测试。...也可以使用POSTMAN来测试。 POST 传参的说明 BS参数的传递有传键值对,有传JSON和其它格式。 放在URL(GET方式)中只能用键值对传参。...POST方式放在Body中可以发送JSON,键值对和其它格式。...VFP作为前端调用后端的控制器类 准备工作 1 客户端项目与服务端项目要分开不同的文件夹 2 用两个VFP分别打开相应的项目 3 客户端首先运行环境设置,再运行调试服务器后关掉调试服务器 4 服务 端首先运行环境设置
领取专属 10元无门槛券
手把手带您无忧上云