golang ajax提交表单,golang 模拟浏览器 发送application/x-www-form-urlencoded的post请求

本文介绍了如何使用Golang模拟浏览器发送Ajax异步加载请求,特别是在处理`application/x-www-form-urlencoded`格式的POST请求时的方法。通过分析Chrome开发者工具中的网络请求,获取并模仿Ajax请求的URL和Header,成功模拟请求。同时,展示了具体的Golang代码实现,展示了如何构造和发送POST请求。
摘要由CSDN通过智能技术生成

init

问题描述

Ajax异步加载。拉勾搜索页面的source page 不像 糗事百科的 source page,没有要抓取的那些信息(如“GO开发工程师 1天前发布 10k-20k 经验1-3年 / 大专”),这些信息是Ajax异步加载的;对于异步加载的搜索结果页,无法像糗事百科那样直接从source page中匹配想要的结果。

模仿浏览器发送post请求。Ajax异步请求的网址,利用postman发送post请求,总是返回系统繁忙。

解决办法

问题1:google 浏览器按F12,按一下一个空心圆带斜杠的按钮(“clear”),先将页面的结果清楚,然后刷新页面,然后查看加载出来的那些网址的Header,在General中Request Method为POST的,差不多就是Ajax请求数据的真正地址。找到这个地址后,看“Preview”,就能查看response的格式。

问题2:

端正态度。其实找到Ajax请求的真正地址后,用postman就应该能模拟出这个Ajax请求,我之所以失败,是因为我太懒了,只填了几个Request Headers。后来我把那些Request Headers中的项全添加到Postman中,就加载出来了。然后这个事情启发了我,只要把Request Headers/Query String Parameters/Form Data 全部实现,无论使用什么,都应该返回正确的结果才对。

FormData 要注意一下数据格式,一般来说Ajax默认请求的格式,是“application/x-www-form-urlencoded”。由此我产生了一个疑问,post都有几种数据格式?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值