golang爬虫colly 发送post请求

 更新时间:2022年07月11日 10:39:54   作者:liuyuncd  
本文主要介绍了golang爬虫colly 发送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:这句话一定要写到最后

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

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

到此这篇关于golang爬虫colly 发送post请求的文章就介绍到这了,更多相关golang colly 发送post请求内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • golang goroutine顺序输出方式

    golang goroutine顺序输出方式

    这篇文章主要介绍了golang goroutine顺序输出方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • GO语言基础入门第一个go程序解读

    GO语言基础入门第一个go程序解读

    这篇文章主要为大家介绍了GO语言基础入门的第一个go程序解读,下面来带大家进入Go语言世界helloworld的大门吧,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-11-11
  • Go Excelize API源码阅读SetSheetViewOptions示例解析

    Go Excelize API源码阅读SetSheetViewOptions示例解析

    这篇文章主要为大家介绍了Go-Excelize API源码阅读SetSheetViewOptions示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • go特性之数组与切片的问题

    go特性之数组与切片的问题

    这篇文章主要介绍了go特性之数组与切片的问题,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Go gRPC环境安装教程示例详解

    Go gRPC环境安装教程示例详解

    这篇文章主要为大家介绍了Go gRPC环境安装的教程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Go中的动态速率限制有效控制流量

    Go中的动态速率限制有效控制流量

    这篇文章主要为大家介绍了Go中的动态速率限制有效控制流量,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • 详解如何使用Golang实现Cron定时任务

    详解如何使用Golang实现Cron定时任务

    定时任务是许多应用程序中常见的一种需求,它们可以用于执行定期的清理任务,发送通知,生成报告等,在这篇博客中,我们将介绍如何在Go语言中使用robfig/cron包来实现Cron定时任务,需要的朋友可以参考下
    2024-04-04
  • golang逗号ok模式整合demo

    golang逗号ok模式整合demo

    这篇文章主要为大家介绍了golang逗号ok模式整合demo,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Go语言的接口详解

    Go语言的接口详解

    这篇文章主要介绍了go语言的接口,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧,希望能够给你带来帮助
    2021-10-10
  • 详解Go语言中Goroutine退出机制的原理及使用

    详解Go语言中Goroutine退出机制的原理及使用

    goroutine是Go语言提供的语言级别的轻量级线程,在我们需要使用并发时,我们只需要通过 go 关键字来开启 goroutine 即可。本文就来详细讲讲Goroutine退出机制的原理及使用,感兴趣的可以了解一下
    2022-07-07

最新评论