nodejs爬虫,POST请求发送Request Playload格式数据。

本文以网易云课堂其中2个POST请求为例,使用request模块实现。

例子1

1、地址:

http://study.163.com/dwr/call/plaincall/MongoAttributesBean.obtainByRandomWithLimitTime.dwr?1521595046314

2、请求截图

从上图可以看到"Content-Type"为"text/plain";数据发送方式:Request Payload,

数据就是普通换行的字符串,而不是JSON字符串。

3、nodejs代码

  let request = require("request");let url = `http://study.163.com/dwr/call/plaincall/MongoAttributesBean.obtainByRandomWithLimitTime.dwr?${+new Date()}`;let body = `callCount=1\nscriptSessionId=\${scriptSessionId}190\nhttpSessionId=17faef42e6db4291819618913dc7f8da\nc0-scriptName=MongoAttributesBean\nc0-methodName=obtainByRandomWithLimitTime\nc0-id=0\nc0-param0=string:spjdt\nc0-param1=number:7\nbatchId=1521527406791\n`;let opts = {url,method: "POST",headers: { "Content-Type": "text/plain" },body: body}request(opts, (e, b, d) => {if (e) return console.log(e);console.log(d);})

4、运行结果


能正常获取返回的数据。

例子2

1、地址:http://study.163.com/p/search/studycourse.json
这是网易云课堂搜索课程的请求地址。
2、请求截图
"Content-Type"为"application/json";数据发送方式也是:Request Payload,
数据格式为标准的JSON字符串。
3、nodejs代码
  let request = require("request");let url = `http://study.163.com/p/search/studycourse.json`;let body = {activityId: 0,keyword: "nodejs",orderType: 5,pageIndex: 1,pageSize: 50,priceType: -1,relativeOffset: 0,searchTimeType: -1,};let opts = {url,method: "POST",headers: { "Content-Type": "application/json" },body: JSON.stringify(body)}request(opts, (e, b, d) => {if (e) return console.log(e);console.log(d);})
4、运行结果
这个list就是搜索到的课程结果。
意外金喜的博客:http://blog.csdn.net/zzwwjjdj1

nodejs爬虫,POST请求发送Request Playload格式数据相关推荐

  1. Java以post请求发送文件或json数据

    分别给出了post发送文件和json数据的函数,其中使用到了Jackson库来转化Json数据,使用log4j2来打印日记,可自行剔除. public class HttpUtils {static ...

  2. 【iOS】Socket/TCP 通信 发送 NSString 字符串格式数据

    Socket/TCP 原理这里就不阐述了,网上一搜一大堆,直接上关键代码. [注]iOS 目前有非常著名的第三方库 CocoaAsyncSocket 可以使用,但是我们项目当时做大数据上报要求直接发送 ...

  3. ajax请求后台传body格式数据,服务器@RequestBody需要注意实相符

    ajax请求以body传输书写方式 $.ajax({type: "post",contentType:"application/json",dataType: ...

  4. HTTP请求(Request)详解

    # HTTP请求(Request) ''' 当用户通过浏览器访问某个网站时, 浏览器会向网站服务器发送请求,这个请求就叫做HTTP请求. 请求包含的内容主要有: 请求方法(Request Method ...

  5. nodejs爬虫(单线程版,后续补充多线程)

    写在前面 nodejs爬虫使用的是request+cheerio+fs,会输出到本地,所以目前是单线程效率,比较慢1 page/s 可以看到爬的是51CTO的查询页面,用于后续的数据监控和分析. ch ...

  6. nodejs爬虫与python爬虫_【nodeJS爬虫】前端爬虫系列 -- 小爬「博客园」

    写这篇 blog 其实一开始我是拒绝的,因为爬虫爬的就是cnblog博客园.搞不好编辑看到了就把我的账号给封了:). 言归正传,前端同学可能向来对爬虫不是很感冒,觉得爬虫需要用偏后端的语言,诸如 ph ...

  7. ajax返回数据输出成表,javascript代码实例教程-ajax请求返回Json格式数据如何循环输出成table形式...

    小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过. 首先,Ajax请求数据,(用的是Jquery的Ajax) [javascript] $(function(){ ...

  8. java发送post请求json格式_Linux QT 4G发送HTTP POST请求发送JSON格式的数据

    一.在PC Window(QT5版本) 1.1.构建URL 1.2.构建HTTP请求头 1.3.连接信号与操作,接收服务器回复的消息 槽函数这里我们要在头文件定义,然后把处理过程实现. void Ma ...

  9. python urllib.request 爬虫 数据处理-python爬虫1--urllib请求库之request模块

    urllib为python内置的HTTP请求库,包含四个模块: request:最基本的HTTP请求模块, 只需要传入URL和参数 error:异常处理模块 parse:工具模块,处理URL,拆分.解 ...

最新文章

  1. 测试django_如何像专业人士一样测试Django Signals
  2. [转贴]电阻电容的封装形式如何选择
  3. oracle数据库迁移方案二
  4. ubuntu查看内存或cpu使用情况
  5. VS中怎样打开MSDN帮助文档
  6. linux下c语言tcp文件传输,C语言实现TCP通信
  7. Google Chrome等浏览器不允许关闭点击跟踪??
  8. SQLiteOpenHelper简介
  9. new A和new A()的区别详解
  10. 信息学奥赛一本通 1101:不定方程求解 | OpenJudge NOI 2.1 7650 | 小学奥数 7650
  11. ASP.NET MVC Model绑定(五)
  12. Super VLAN原理
  13. paip.spring 获取bean getBean 没有beanid的情况下
  14. C++ stringstream 从字符串中分离单词
  15. 岩板铺地好吗_铺地的石板如何用处高逼格,三个大师案例来教你!
  16. Ipone桌面计算机没了,苹果笔记本桌面图标不见了怎么办
  17. 2020年中国海洋大学夏令营记录
  18. 南京工资个税计算机,最新南京工资扣税标准
  19. “人生苦短,我用Python“——网络嗅探与欺骗
  20. 几个实用的生活服务网站和APP

热门文章

  1. 2.1.太极平台框架—表单介绍与使用
  2. Kaptcha-验证码使用及扩展
  3. python素数生成器_在python中用滤波器和生成器生成无穷素数
  4. 如何安装使用M36W2一体化风速风向传感器?
  5. wegame启动cf蓝屏_Wegame蓝屏怎么解决-解决wegame运行蓝屏、游戏蓝屏的方法 - 河东软件园...
  6. 最美教师颁奖词计算机,微笑最美教师颁奖词2017
  7. 持续集成与持续部署(六)02-CircleCI——CircleCI配置Node.js应用之.circleciconfig.yml配置文件 deploy.sh文件内容
  8. 腾讯QQ/TM珊瑚虫外挂/集成安装版(v3.0.2)[下载]
  9. android ios打包工具下载,IOS移动开发之快速打包工具---- iTunes 降级 到12.6,回到你熟悉的版本...
  10. 转载 关于多线程MT和MD的区别。