golang爬虫colly 发送post请求

本文详细介绍了如何使用Go语言的Colly库进行POST请求,包括数据结构定义、JSON序列化、设置请求头及发送POST请求的具体步骤。

继续还是工作中使用colly,不管是官网,还是网上的一些文章(其实90%就是把官网的案例抄过去),都是一样的格式,没有讲到post,测试了几次,记录一下post的使用

	c := colly.NewCollector()
	type data struct {
		Phone string `json:"phone" binding:"required"`
	}
	d:=&data{
		Phone:"18190897361",
	}
	da,err:=json.Marshal(d)

	if err!=nil{
		fmt.Println(err)
	}
	c.OnResponse(func(response *colly.Response) {
		fmt.Println(string(response.Body))
	})
	c.OnRequest(func(r *colly.Request) {
		fmt.Println(r)
		fmt.Println(r.Method)
		r.Headers.Set("Content-Type", "application/json;charset=UTF-8")
		r.Headers.Set("User-Agent","Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36")
	})
	c.OnError(func(response *colly.Response, e error) {
		fmt.Println(e)
	})
	c.PostRaw("http://www.××××.com:×××/baseDevice/getUserInfo",da)
	//c.Visit("http://www.××××.com:×××/baseDevice/getUserInfo")

其实也没多少不一样,首先准备你要发送的json格式的数据(现在90%都是json格式请求了),

type data struct {
		Phone string `json:"phone" binding:"required"`
	}
	d:=&data{
		Phone:"18190897361",
	}
	da,err:=json.Marshal(d)

这里只发送一个电话号码,第二部就是最后的发送了

c.PostRaw("http://www.××××.com:×××/baseDevice/getUserInfo",da)

1:这句话一定要写到最后
2:

c.Visit(“http://www.××××.com:×××/baseDevice/getUserInfo”)

Visit方法,点进去源码可以看到默认走的是get模式,我们这里发送post,就不需要写了
就这么简单—结束

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值