zoukankan      html  css  js  c++  java
  • goquery 添加header 发起请求

    goquery 添加header 发起请求

    我们知道使用net/http 很容易发起GET or POST 请求;并且在发起http请求时候,可以很容易的对header进行干预

    例如:

    client := &http.client{}
    
    request, err := http.NewRequest("GET","http://example.com",nil)
    //...
    
    request.Header.Add("Referer", "http://www.abc.com")
    //...
    //这样就可以自定义或者修改http的header了,这么做的目的当然是进行一个欺骗http服务器的行为,至于为什么这么做,哦,你懂得...
    response, err := client.Do(request)
    defer response.Body.Close()
    

    那么如果使用goquery 解析页面的时候,如何添加header呢?
    使用goquery.NewDocumentFromResponse(response) 进行处理就ok了

    doc, err := goquery.NewDocumentFromResponse(response)
    if err != nil {
    	log.Fatal(err)
    }
    doc.Find("#7d li")
    //...
    

    完整的代码,如下

    client := &http.client{}
    
    request, err := http.NewRequest("GET","http://example.com",nil)
    //...
    
    request.Header.Add("Referer", "http://www.abc.com")
    //...
    //这样就可以自定义或者修改http的header了,这么做的目的当然是进行一个欺骗http服务器的行为,至于为什么这么做,哦,你懂得...
    response, err := client.Do(request)
    defer response.Body.Close()
    
    doc, err := goquery.NewDocumentFromResponse(response)
    if err != nil {
    	log.Fatal(err)
    }
    doc.Find("#7d li")
    //...
  • 相关阅读:
    剑指OFFER 滑动窗口的最大值
    剑指OFFER 正则表达式匹配
    linux动态链接库的使用
    剑指OFFER 序列化二叉树
    剑指OFFER 数字在排序数组中出现的次数
    剑指OFFER 数组中的逆序对
    剑指OFFER 反转链表
    剑指OFFER 二叉树的深度
    剑指OFFER 矩形覆盖
    网络相关的命令工具-iptables
  • 原文地址:https://www.cnblogs.com/jerrychen/p/4642245.html
Copyright © 2011-2022 走看看