欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Go語言通過http抓取網(wǎng)頁的方法

 更新時間:2015年03月03日 11:33:55   作者:liuli  
這篇文章主要介紹了Go語言通過http抓取網(wǎng)頁的方法,實例分析了Go語言通過http操作頁面的技巧,需要的朋友可以參考下

本文實例講述了Go語言通過http抓取網(wǎng)頁的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:

復(fù)制代碼 代碼如下:

package main
import (
 "fmt"
 "log"
 "net/http"
 "net/url"
 "io/ioutil"
)
//指定代理ip
func getTransportFieldURL(proxy_addr *string) (transport *http.Transport) {
 url_i := url.URL{}
 url_proxy, _ := url_i.Parse(*proxy_addr)
 transport = &http.Transport{Proxy : http.ProxyURL(url_proxy)}
 return
}
//從環(huán)境變量$http_proxy或$HTTP_PROXY中獲取HTTP代理地址
func getTransportFromEnvironment() (transport *http.Transport) {
 transport = &http.Transport{Proxy : http.ProxyFromEnvironment}
 return
}
func fetch(url , proxy_addr *string) (html string) {
 transport := getTransportFieldURL(proxy_addr)
 client := &http.Client{Transport : transport}
 req, err := http.NewRequest("GET", *url, nil)
 if err != nil {
  log.Fatal(err.Error())
 }
 resp, err := client.Do(req)
 if err != nil {
  log.Fatal(err.Error())
 }
 if resp.StatusCode == 200 {
  robots, err := ioutil.ReadAll(resp.Body);
  resp.Body.Close()
  if err != nil {
   log.Fatal(err.Error())
  }
  html = string(robots);
 } else {
  html = ""
 }
 return
}
func main() {
 proxy_addr := "http://183.221.250.137:80/"
 url := "http://www.baidu.com/s?wd=ip"
 html := fetch(&url, &proxy_addr)
 fmt.Println(html)
}

希望本文所述對大家的Go語言程序設(shè)計有所幫助。

相關(guān)文章

  • 5個可以在Golang中優(yōu)化代碼以提高性能的技巧分享

    5個可以在Golang中優(yōu)化代碼以提高性能的技巧分享

    作為一名軟件工程師,確保你的代碼高效且性能良好是非常重要的。本文主要和大家分享5個可以在Golang中優(yōu)化代碼以提高性能的技巧,希望對大家有所幫助
    2023-03-03
  • Go 語言 JSON 標(biāo)準(zhǔn)庫的使用

    Go 語言 JSON 標(biāo)準(zhǔn)庫的使用

    今天通過本文給大家介紹Go 語言 JSON 標(biāo)準(zhǔn)庫的使用小結(jié),包括序列化和反序列化的相關(guān)知識,感興趣的朋友跟隨小編一起看看吧
    2021-10-10
  • golang實現(xiàn)給圖片加水印

    golang實現(xiàn)給圖片加水印

    這篇文章主要為大家詳細(xì)介紹了Vue3如何利用golang實現(xiàn)給圖片加水印,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,需要的可以參考一下
    2023-12-12
  • go語言分布式id生成器及分布式鎖介紹

    go語言分布式id生成器及分布式鎖介紹

    這篇文章主要為大家介紹了go語言分布式id生成器及分布式鎖介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • Go語言讀取txt文檔的操作方法

    Go語言讀取txt文檔的操作方法

    Go語言提供了很多文件操作的支持,在不同場景下,有對應(yīng)的處理方式,本節(jié)我們來介紹一下Go語言讀取txt文檔的相關(guān)知識,感興趣的朋友跟隨小編一起看看吧
    2022-01-01
  • 在Go語言單元測試中解決HTTP網(wǎng)絡(luò)依賴問題

    在Go語言單元測試中解決HTTP網(wǎng)絡(luò)依賴問題

    在 Go 語言中,我們需要找到一種可靠的方法來測試 HTTP 請求和響應(yīng),本文將探討在 Go 中進(jìn)行 HTTP 應(yīng)用測試時,如何解決應(yīng)用程序的依賴問題,以確保我們能夠編寫出可靠的測試用例,需要的朋友可以參考下
    2023-07-07
  • 一文搞懂Golang中的內(nèi)存逃逸

    一文搞懂Golang中的內(nèi)存逃逸

    我們都知道go語言中內(nèi)存管理工作都是由Go在底層完成的,這樣我們可以不用過多的關(guān)注底層的內(nèi)存問題。本文主要總結(jié)一下?Golang內(nèi)存逃逸分析,需要的朋友可以參考以下內(nèi)容,希望對大家有幫助
    2022-09-09
  • gtoken替換jwt實現(xiàn)sso登錄的問題小結(jié)

    gtoken替換jwt實現(xiàn)sso登錄的問題小結(jié)

    這篇文章主要介紹了gtoken替換jwt實現(xiàn)sso登錄,主要介紹了替換jwt的原因分析及gtoken的優(yōu)勢,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • 淺談golang類型斷言,失敗類型斷言返回值問題

    淺談golang類型斷言,失敗類型斷言返回值問題

    這篇文章主要介紹了淺談golang類型斷言,失敗類型斷言返回值問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • go語言單例模式(Singleton)實例分析

    go語言單例模式(Singleton)實例分析

    這篇文章主要介紹了go語言單例模式(Singleton),實例分析了單例模式的原理與Go語言的實現(xiàn)技巧,需要的朋友可以參考下
    2015-03-03

最新評論