好男人好资源在线观看免费视频,国产又爽又黄又不遮挡视频,国产亚洲欧美另类精品久久久,国产精品99久久久久久猫咪,国产综合久久久久久鬼色

廣告

動態(tài)撥號VPS代理服務(wù)器搭建HTTP代理ip教程

2025-03-17

91HTTP代理是91VPS旗下HTTP代理子品牌,現(xiàn)全新升級,官方網(wǎng)址:www.91http.com

怎么使用動態(tài)撥號vps代理服務(wù)器搭建HTTP代理ip?今天小編給大家做個詳細的教程:

 

關(guān)于動態(tài)撥號vps代理服務(wù)器搭建HTTP代理ip的流程分為以下幾步:

 

第一步:購買動態(tài)撥號vps服務(wù)器;

 

第二步:連接動態(tài)撥號vps服務(wù)器,撥號成功后,安裝必要的軟件;

 

第三步:安裝及啟動TinyProxy搭建代理;

 

第四步:安裝python/編寫HTTP代理池腳本;

 

第五步:提取ip,測試,搭建完成,投入使用。

 


 

一,購買動態(tài)撥號vps代理服務(wù)器

 

首先,確認自己需要的動態(tài)撥號vps服務(wù)器類型:目前91vps提供有撥號vps服務(wù)器和動態(tài)ECS服務(wù)器二種,均包含有全國混播/單地區(qū),然后在選擇配置,目前91vps提供有4種類型的配置可供選擇;最后確認購買,購買完成。(關(guān)于機器的選擇,可根據(jù)自己的需求來,如不清楚,可聯(lián)系91vps在線客服:800193021咨詢推薦)

 

點擊直達:91vps動態(tài)撥號vps服務(wù)器購買地址

 

點擊查看:91VPS動態(tài)撥號VPS服務(wù)器購買開通教程

 

動態(tài)撥號VPS代理服務(wù)器搭建HTTP代理ip教程

 

二    遠程連接撥號vps服務(wù)器,并調(diào)試成功

 

這里就不多做介紹了,需要強調(diào)一點的是,搭建http代理,必須使用liunx系統(tǒng)連接,所以,這個直接提供liunx系統(tǒng)連接的詳細教程:

 

點擊查看:動態(tài)撥號vps服務(wù)器lunix使用教程

 

動態(tài)撥號VPS代理服務(wù)器搭建HTTP代理ip教程

 

三    TinyProxy代理搭建

 

1.安裝TinyProxy

yum install -y epel-release

yum update -y     ——升級yum,可能會等很長一段時間

yum install -y tinyproxy

 

2.配置TinyProxy

(1)vi /etc/tinyproxy/tinyproxy.conf修改兩處配置:端口號和允許連接該代理的IP白名單:

 

動態(tài)撥號VPS代理服務(wù)器搭建HTTP代理ip教程

 

上圖中,默認用8888端口作為代理端口,可以修改為你用作代理端口的端口號;

 

動態(tài)撥號VPS代理服務(wù)器搭建HTTP代理ip教程

 

允許訪問該代理端口的IP,默認為只有本機可以使用該代理,把這行注釋掉可以使所有IP都可以使用該代理。

 

(2)配置完后,重啟TinyProxy

systemctl enable tinyproxy.service

systemctl restart tinyproxy.service

防火墻開放你的配置的代理端口:

iptables -I INPUT -p tcp --dport 8888 -j ACCEPT

 

3.驗證TinyProxy

在另一臺主機上運行以下命令檢查是否用了代理:

curl -x 代理服務(wù)器IP地址:代理端口 httpbin.org/get

動態(tài)撥號VPS代理服務(wù)器搭建HTTP代理ip教程

上圖中訪問httpbin.org/get得到本地IP為119.23.xx.x,通過代理端口訪問該地址,得到的IP地址為114.104.xx.x,這說明代理搭建成功。

 

四    安裝python及編寫腳本

 

1.安裝python

下面是我的安裝腳本,我每次都是直接用這個腳本來自動安裝。

 

#!/usr/bin/env bash

yum -y install wget zlib zlib-devel openssl-devel gcc make

wget -P /usr/local/src/ https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz

tar -xzvf /usr/local/src/Python-3.6.5.tgz

 

cd Python-3.6.5

./configure --prefix=/usr/local --with-ssl

make

make altinstall

make clean

cd ../

rm -rf Python-3.6.5*

 

ln -s /usr/local/bin/python3.6 /usr/bin/python3

ln -s /usr/local/bin/pip3.6 /usr/bin/pip3

pip3 install --upgrade pip

python3 -V && pip3 -V

2.編寫更新代理的腳本

由于ADSL撥號服務(wù)器撥號后,IP已經(jīng)變化為新的IP,這時候要通知其他使用IP者新的IP地址是什么,這就需要有一個接口或者緩存供其調(diào)用、存儲變化后的IP。我這里采用redis來緩存。

import re, time, requests

from requests.exceptions import ConnectionError, ReadTimeout

# coding=utf-8

# 撥號間隔

ADSL_CYCLE = 60*60*2

# 撥號出錯重試間隔

ADSL_ERROR_CYCLE = 5

# ADSL命令

ADSL_BASH = '/sbin/ifdown ppp0;/sbin/ifup ppp0'

# 代理運行端口

PROXY_PORT = 8888

# 撥號網(wǎng)卡

ADSL_IFNAME = 'ppp0'

# 代理池鍵名

PROXY_KEY = 'adsl'

# 測試URL

TEST_URL = 'http://www.baidu.com'

# 測試超時時間

TEST_TIMEOUT = 20

# API端口

API_PORT = 8000

# coding=utf-8

import re

import time

import requests

from requests.exceptions import ConnectionError, ReadTimeout

from redis import StrictRedis

import platform

if platform.python_version().startswith('2.'):

import commands as subprocess

elif platform.python_version().startswith('3.'):

import subprocess

else:

raise ValueError('python version must be 2 or 3')

class Sender():

def get_ip(self, ifname=ADSL_IFNAME):

"""

獲取本機IP

:param ifname: 網(wǎng)卡名稱

:return:

"""

(status, output) = subprocess.getstatusoutput('ifconfig')

if status == 0:

pattern = re.compile(ifname + '.*?inet.*?(\d+\.\d+\.\d+\.\d+).*?netmask', re.S)

result = re.search(pattern, output)

if result:

ip = result.group(1)

return ip

def test_proxy(self, proxy):

"""

測試代理

:param proxy: 代理

:return: 測試結(jié)果

"""

try:

response = requests.get(TEST_URL, proxies={

'http': 'http://' + proxy,

'https': 'https://' + proxy

}, timeout=TEST_TIMEOUT)

if response.status_code == 200:

return True

except (ConnectionError, ReadTimeout):

return False

def remove_proxy(self):

"""

移除代理

:return: None

"""

redis = StrictRedis(host='xxx.xx.xx.x', port=26379, password='xxxxxx', db=0)

redis.hdel('proxy', PROXY_KEY)

print('Successfully Removed Proxy')

def set_proxy(self, proxy):

"""

設(shè)置代理

:param proxy: 代理

:return: None

"""

rediscli = StrictRedis(host='xxx.xx.xx.x', port=26379, password='xxxxxx', db=0)

if rediscli.hset('proxy', PROXY_KEY, proxy):

print('Successfully Set Proxy', proxy)

def adsl(self):

"""

撥號主進程

:return: None

"""

while True:

print('ADSL Start, Remove Proxy, Please wait')

try:

self.remove_proxy()

except:

pass

(status, output) = subprocess.getstatusoutput(ADSL_BASH)

if status == 0:

print('ADSL Successfully')

ip = self.get_ip()

if ip:

print('Now IP', ip)

print('Testing Proxy, Please Wait')

proxy = '{ip}:{port}'.format(ip=ip, port=PROXY_PORT)

if self.test_proxy(proxy):

print('Valid Proxy')

self.set_proxy(proxy)

print('Sleeping')

time.sleep(ADSL_CYCLE)

else:

print('Invalid Proxy')

else:

print('Get IP Failed, Re Dialing')

time.sleep(ADSL_ERROR_CYCLE)

else:

print('ADSL Failed, Please Check')

time.sleep(ADSL_ERROR_CYCLE)

if __name__ == '__main__':

sender = Sender()

sender.adsl()

3.代理池中的代理檢查

 

動態(tài)撥號VPS代理服務(wù)器搭建HTTP代理ip教程

 

打開redsi可以看到對應(yīng)的db中已經(jīng)有相應(yīng)的代理。

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明出處!

上一篇:沒有了

下一篇:91VPS官網(wǎng)用戶linux使用教程

這條幫助是否解決了您的問題?已解決未解決

提交成功!非常感謝您的反饋,我們會繼續(xù)努力做到更好!很抱歉未能解決您的疑問。我們已收到您的反饋意見,同時會及時作出反饋處理!

立即注冊91VPS賬號,免費體驗多款產(chǎn)品
立即注冊
聯(lián)系我們
全國咨詢熱線:
0712-5319406
QQ客服:
800193021
91VPS微信客服

掃碼聯(lián)系微信客服