欧美成a人片在线观看久,久久久久亚洲av无码专区桃色,久久久婷婷五月亚洲97号色,久久亚洲中文字幕精品一区,另类av

[使用介紹]GO語言如何測試ip代理?

發(fā)布時間:2020-05-24 關(guān)注熱度:°C

  GO語言如何檢測ip代理?有的時候我們找到的ip代理并非都是可用的,用過免費代理的就知道這個道理,而有些服務差的代理服務商,他們的IP質(zhì)量也堪憂。

GO語言如何測試ip代理

  我們使用爬蟲的時候需要大量代理,但是并不是所有的代理都是有效的。所以在使用代理前,我們應該先檢測下代理是否可用。

  我們可以使用http.Transport設(shè)置代理來訪問某個測試地址,如果返回的狀態(tài)碼為200,說明這個代理是可用的。

  為了提升代理檢測效率,測試地址盡量使用數(shù)據(jù)量比較小的站點:

  例如:https://icanhazip.com 和 https://httpbin.org/get

  package main

  import (

  "fmt"

  "log"

  "net/http"

  "net/url"

  "strings"

  "time"

  )

  func ProxyTest(proxy_addr string) (Speed int, Status int) {

  //檢測ip代理訪問地址

  var testUrl string

  //判斷傳來的ip代理是否是https

  if strings.Contains(proxy_addr, "https") {

  testUrl = "https://icanhazip.com"

  } else {

  testUrl = "http://icanhazip.com"

  }

  // 解析代理地址

  proxy, err := url.Parse(proxy_addr)

  //設(shè)置網(wǎng)絡傳輸

  netTransport := &http.Transport{

  Proxy: http.ProxyURL(proxy),

  MaxIdleConnsPerHost: 10,

  ResponseHeaderTimeout: time.Second * time.Duration(5),

  }

  // 創(chuàng)建連接客戶端

  httpClient := &http.Client{

  Timeout: time.Second * 10,

  Transport: netTransport,

  }

  begin := time.Now() //判斷代理訪問時間

  // 使用ip代理訪問測試地址

  res, err := httpClient.Get(testUrl)

  if err != nil {

  log.Println(err)

  return

  }

  defer res.Body.Close()

  speed := int(time.Now().Sub(begin).Nanoseconds() / 1000 / 1000) //ms

  //判斷是否成功訪問,如果成功訪問StatusCode應該為200

  if res.StatusCode != http.StatusOK {

  log.Println(err)

  return

  }

  return speed, res.StatusCode

  }

  func main() {

  var speed, status = ProxyTest("http://124.205.155.151:9090")

  if status == 200 {

  fmt.Println(speed, status)

  } else {

  fmt.Println("代理不可用")

  }

  }

  如果大家需要穩(wěn)定能夠使用的ip代理,那么,IP海是大家最為合適的選擇之一,自建IP池,海量IP地址等你來。

 

版權(quán)聲明:本文為IP海(iphai.cn)原創(chuàng)作品,未經(jīng)許可,禁止轉(zhuǎn)載!

Copyright © www.wibm.ac.cn. All Rights Reserved. IP海 版權(quán)所有.
IP海僅提供中國內(nèi)IP加速服務,無法跨境聯(lián)網(wǎng),用戶應遵守《服務條款》內(nèi)容,嚴禁用戶使用IP海從事任何違法犯罪行為。
ICP備案鄂ICP備19030659號-3 公安備案鄂公網(wǎng)安備42100302000141號 計算機軟件著作權(quán)證計算機軟件著作權(quán)證 ICP/EDI許可證ICP/EDI許可證:鄂B2-20200106

微信掃一掃咨詢