BeetleX.Http.Clients访问https服务

        最近在做数据分析平台,那在做这个产品的时最需要的自然是测试数据,自己去构建行业测试数据比较麻烦,看到有同行产品的演示数据当然不能错过。由于采集过程中使用到BeetleX.Http.Clients去抓取第三方的Https接口数据,所以顺便记录一下BeetleX.Http.Clients使用的方法。

        首先构建一个控制台程序,然后Nuget引用BeetleX.Http.Clients组件,引用后就可以干活了,组件提供一个HttpClient对象可以很方便的对webapi进行访问,即使是调用https也无须添加任何配置即可完成。

        接下来取一下https://console.bce.xxxx.com/sugar/的演示产品数据。

BeetleX.Http.Clients.HttpJsonClient client = new BeetleX.Http.Clients.HttpJsonClient("https://sugar.bce.baidu.com/");
client.SetHeader("csrf-token", "xDgdnfJ8-NhQZ0xWD8ZsjBrs1pTAGyp-CJ6U");
client.SetHeader("cookie", "BIDUPSID=127E2C6CE0EBA549524FAA4EE738C5F7; PSTM=1559696211; BAIDUID=D1235FD0F3793CD52877199489385314:FG=1; MCITY=-257%3A; H_WISE_SIDS=107320_110085_127969_131423_132549_144966_154213_155931_164108_164869_165135_166148_167086_167296_168030_168490_168542_169061_169307_169708_169882_170149_170155_170221_170244_170355_170474_170579_170583_170590_170607_170762_170810_170817_170873_170957_171216_171223_171234_171523_171584_171622_171816_171837_171850_171989_172128_172247_172496_172679; CAMPAIGN_TRACK=cp%3Aotheronline-media%7Cpf%3Apc%7Cpp%3Abaiduyunduanxin-huodong-21kainianshengdian-laoyonghu%7Cpu%3Aduanxin%7Cci%3A2021knsd%7Ckw%3A10074020; CAMPAIGN_TRACK_TIME=2021-03-29+14%3A18%3A33; sugarbisid=s%3Ao_q8jIFFbRjcEf8-x-CCXG2yL_pZdEnt.948a4PF6nEojy%2FSYM0Y05l2f8%2Br%2F6dpTc9NCMuOQj78; sugar-company=scp_1013e-2xjcwe8b-oqpvmj; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; BAIDUID_BFESS=AFCE5C81652686EBDB40FA33174550AB:FG=1; __yjs_duid=1_e8da08a67d6144100f2ea8eb59d6178f1617255570813; BDRCVFR[feWj1Vr5u3D]=I67x6TjHwwYf0; delPer=0; PSINO=6; ab_sr=1.0.0_YjQyYWZhZWE2Yjc4ZThlNWY1MWYwMDNlMTc2MmEyNDc2ZTI4ZjFmMGYxMDg0NTVjZTFiYWI4ZDg2MzVlM2RlOGQ5YTM1NTE3ZDJjNzk1NDUxYTExYjYzODI1YWEyYTAwOTNkMmFhYjg4NDQwNmU5NmQwYjRiMzk0Zjc0MDBiMzc=; H_PS_PSSID=33797_33639_33740_33272_33689_33760_33675_33392_33624_33163_26350_22159; BA_HECTOR=a4a5000g8ka1a081ov1g6damo0q; __bce-console-referrer__=; BCE_MONITOR_TRACK_SESSION_ID=161734115059605fe; Hm_lvt_28a17f66627d87f1d046eae152a1c93d=1614946024,1615288720,1616998877,1617341151; BDUSS=TI2b01Qa1ZQWTV3dzhnV0JDWWVtbTdHNGV-bzdCRE95LXdibmRhN0VUcnBONDVnSUFBQUFBJCQAAAAAAAAAAAEAAADrubswZmFuaGVucnlmYW4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOmqZmDpqmZgW; BDUSS_BFESS=TI2b01Qa1ZQWTV3dzhnV0JDWWVtbTdHNGV-bzdCRE95LXdibmRhN0VUcnBONDVnSUFBQUFBJCQAAAAAAAAAAAEAAADrubswZmFuaGVucnlmYW4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOmqZmDpqmZgW; x-bce-login-redirect-url=https%3A%2F%2Fconsole.bce.baidu.com%2Fcdn%2F%3F_%3D1611315494638#/cdn/list; bce-login-type=PASSPORT; bce-passport-stoken=d32f2a3af24c12142043dbb85ccd70f44dac7b8696f4af61b520a7d98b0654bc; bce-auth-type=PASSPORT; bce-sessionid=001f9c8d3c3652c440b8ec3194c735a27ea; bce-ctl-client-cookies=\"BDUSS, bce - passport - stoken, bce - device - cuid, bce - device - token, BAIDUID\"; bce-ctl-client-parameters=brt; bce-ctl-client-headers=\"\"; bce-user-info=\"2021 - 04 - 02T13: 26:03Z | ad8d8a4a97be5a3da27db213fbdd14f7\"; bce-login-display-name=fanhenryfan; bce-userbind-source=PASSPORT; bce-session=0cb2dc02d3454eb6aaa545892e3e29d034da1482052a4e2cab27863d4f43d8a4|2d53879befa5dddebb239f0b4fe7e8f9; bce-ctl-sessionmfa-cookie=bce-session; bce-login-expire-time=\"2021 - 04 - 02T05: 56:03Z | 802ff95a53ab810c6938f59a506512d3\"; bce-locale=zh-cn; BCE_MONITOR_TRACK_SESSION_ID=161734115059605fe; BAIDU_CLOUD_TRACK_PATH=https%3A%2F%2Fcloud.baidu.com%2Fproduct%2Fsugar.html; Hm_lpvt_28a17f66627d87f1d046eae152a1c93d=1617341420; _csrf=EIyOZMiPySNSeutEtga6VE9j; Hm_lvt_0369a83cfe6c3d97357eea08cc40e92f=1616998914,1617341442; Hm_lpvt_0369a83cfe6c3d97357eea08cc40e92f=1617341442");
client.SetHeader("referer", "https://sugar.bce.xxxx.com/group/first/manage/dbPreview?database=d_1013e-akrxglq5-kej8q1&__scp__=scp_1013e-2xjcwe8b-oqpvmj");
List<Row> datas = new List<Row>();
for (int i = 1; i <= 980; i++)
{client.SetBody(new { page = i, perPage = 10 });var result = await client.Post("/api/group/g_1013e-1x6fmdc9-1pyz2x/database/d_1013e-akrxglq5-kej8q1/getTableData?table=medical_list&_replace=1");var data = ((JToken)result.Body)["data"];if (data != null){var row = data["rows"];if (row != null){var items = row.ToObject<List<Row>>();datas.AddRange(items);System.Threading.Thread.Sleep(200);}}}

由于接口的调用需要一些访问凭证信息,这些信息可以通过浏览器访问获取得到。

只需要在浏览器访问一下就可以获取到详细的cookie和token信息,把这些信息添加到http的头。配置好之后所有工作就简单多了,在调用Post后根据自己需要解释对应Body的数据即可。由于平台没做调用限制,没过几分钟900多页的数据就成功获取下来

BeetleX

开源跨平台通讯框架(支持TLS)
提供高性能服务和大数据处理解决方案

https://beetlex.io

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/303512.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

这一次,用数据解读玩家行为,用实力拿下预测大奖!

如今&#xff0c;大数据落地应用已十分广泛&#xff0c;除了政务、金融、医疗、旅游等传统行业外&#xff0c;在游戏行业中的应用也逐渐受人瞩目。那么&#xff0c;当大数据遇上游戏产业&#xff0c;会产生哪些变革和创新呢&#xff1f;众所周知&#xff0c;全球游戏市场规模庞…

如何在 C# 中使用隐式和显式操作符

C# 有一个鲜为人知的特性是通过定义 显式和隐式操作符 实现类型之间的转换&#xff0c;这篇文章我们将会讨论如何使用这些 显式 和 隐式 操作符。什么是显式&#xff0c;什么是隐式 隐式类型转换 它是运行时自动帮你完成的&#xff0c;言外之意就是你不需要人为干预&#xff0c…

SUSE10下配置FTP服务

SUSE10 liuux下配置FTP和SUSE9有不同之处&#xff0c;大家请注意。下面为SUSE10下ftp服务配置具体步骤。 Linux 系统安装完成后&#xff0c;默认不会开启FTP 服务&#xff0c;需要在yast界面下进行手动启动: 说明&#xff1a;如果未安装FTP 包&#xff0c;则需要先行安装FTP 软…

java gzip 解压文件_Java实现文件压缩与解压[zip格式,gzip格式]

原文&#xff1a;http://www.cnblogs.com/visec479/p/4112881.html#3069573Java实现ZIP的解压与压缩功能基本都是使用了Java的多肽和递归技术&#xff0c;可以对单个文件和任意级联文件夹进行压缩和解压&#xff0c;对于一些初学者来说是个很不错的实例。zip扮演着归档和压缩两…

来看一场 AI 重建的 3D 全息世界杯比赛!

世界杯来了&#xff01;央视名嘴白岩松调侃 “俄罗斯世界杯&#xff0c;中国除了足球队没去&#xff0c;其他的都去了”&#xff0c;这届世界杯&#xff0c;中国球迷购买球票的数量在所有国家中排名第 9&#xff0c;可见球迷对世界杯的热情。那么&#xff0c;除了准备好小龙虾在…

编译Linux 2.6内核

编译内核易如反掌。让人叹为观止的是&#xff0c;这实际上比编译和安装像glibc这样的系统级组伴还要简单。2.6内核提供了一套新工具&#xff0c;使编译内核更加容易&#xff0c;比早期发布的内核有了长足的进步。 2.3.1 配置内核 因为Linux源码随手可得&#xff0c;那就意味着在…

获取父线程 java_java子线程中获取父线程的threadLocal中的值

我们都知道线程本地变量表也就是ThreadLocal在我们做线程级的数据隔离时非常好用&#xff0c;但是有时候我们会想如何让子线程获取到父线程的ThreadLocal&#xff0c;其实在线程中除了ThreadLocal外还有InheritableThreadLocal&#xff0c;顾名思义&#xff0c;可继承的线程变量…

源码分享,送你一份Google Python class源码

几年前&#xff0c;Google推出Python课堂。Google Python课堂:https://developers.google.com/edu/python/小编也整理了一下Google Python课堂的源码&#xff0c;里面有四个例子。logpuzzle这个例子主要是利用urllib模块做一个图片拼接的小游戏,主要是从一大堆的网页里面解析分…

用YARP当网关

Yarp是微软开源的一个用.net实现的反向代理工具包&#xff0c;github库就叫reverse-proxy&#xff08;反向代理&#xff09;&#xff08;吐槽一下微软起名字233333&#xff09;nuget包preview9之前都叫Microsoft.ReverseProxy&#xff0c;preview10变成Yarp.ReverseProxy了放上…

从生物神经网络到人工神经网络

如今提及人工智能&#xff0c;大家期待的一定是某种可以“学习”的方法&#xff0c;这种方法使用数学模型从数据中获取模式的某种表示。在众多“学习”方法中&#xff0c;获得最多关注&#xff0c;承载最多期望的非“神经网络”莫属。既然我们将这种数学方法称作神经网络&#…

很遗憾,我们正在逐渐丧失专注阅读的能力

这是头哥侃码的第238篇原创最近生活没什么规律&#xff0c;睡得晚&#xff0c;起得早&#xff0c;似乎除了工作之外&#xff0c;其余所有的节奏都有点乱了。前几天去体检&#xff0c;没想到像我这样的 “老司机”&#xff0c;居然会忘记 “要空腹” 的规定&#xff0c;愣是在体…

陶哲轩的10岁与30岁

Terence Tao&#xff08;陶哲轩&#xff09;&#xff0c;1975年7月17日出生于澳大利亚Adelaide&#xff08;阿德莱德&#xff09;。本讲话作于1985年上半年&#xff0c;即陶哲轩尚未满10周岁时所作&#xff0c;一个稚气儿童&#xff0c;给大学生和教授们作报告&#xff0c;少见…

NET问答: 重写了 Equals,还有必要重写 GetHashCode 吗?

咨询区 David Basarab&#xff1a;直入主题&#xff0c;参考如下代码&#xff1a;public class Foo {public int FooId { get; set; }public string FooName { get; set; }public override bool Equals(object obj){Foo fooItem obj as Foo;if (fooItem null) {return false;…

如果编程替换成中文就会怎样? 程序员看了表示头疼

首先大概的看一下中文编码&#xff1a;你以为会写中文就会编程吗&#xff1f;这就像你以为会写汉字就会写出好文章一样。编程是和机器沟通&#xff0c;因此要用机器的语言而不是人类的语言。最早的程序就是0和1的数字&#xff0c;不是中文也不是英文。以前的程序员&#xff0c;…

使用visio 2016 绘制画UML时序图(Sequence Diagram)

什么是时序图&#xff1f;时序图(Sequence Diagram)&#xff0c;又名序列图、循序图&#xff0c;是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。让我们来看一看Visio2016对时序图的的解释。时序图的元素我们在画时序图时会涉及到7种元素&…

网页颜色搭配

兼职请上猪八戒网站转载于:https://blog.51cto.com/ayyzddq/598474

数字化诗人:这可能是第一位用算法写诗的诺贝尔文学奖得主

一位英国教授发现&#xff0c;一些优秀的诗人早在20世纪60年代就开始使用编码算法来写诗了。著名作家J.M.Coetzee&#xff0c;在早期的英国超级计算机上开发了创作诗歌的软件当我们回顾历史上探索科技应用的人才时&#xff0c;通常不会想到英语教授。但是伦敦国王学院现代文学博…

在asp.net core中使用的验证框架FluentValidation

FluentValidation在asp.net core中怎么使用&#xff1f;先安装包。Install-Package FluentValidation.AspNetCore和上一篇的实体类和验证类一样。实体类&#xff1a;public class Person {public int Id { get; set; }public string Name { get; set; }public string Tel { get…

【EFCORE笔记】异步查询工作原理注释标记

异步查询 当在远程数据库中执行查询时&#xff0c;同步查询可能会阻止当前线程&#xff0c;异步查询可避免阻止线程&#xff0c;这有助于避免冻结户端界面&#xff0c; 异步操作还可以增加 Web 应用程序的吞吐量&#xff0c;可以在数据库操作完成前释放线程去处理其他请求。EF …

CSS日常公用样式与一些解决方案

一、自己总结的公用样式解析html, body, div, p, ul, li, dl, dt, dd, h1, h2, h3, h4, h5, h6, form, input, select, button, textarea, iframe, table, th, td { margin: 0; padding: 0; }img { border: 0 none; vertical-align: top; }ul, li { list-style-type: none; }h1…