首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从文本文件中获取代理ip和端口

如何从文本文件中获取代理ip和端口
EN

Stack Overflow用户
提问于 2016-08-16 21:49:56
回答 1查看 1.2K关注 0票数 2

如何从文本文件中获取代理ip和端口

代码:

代码语言:javascript
复制
import re , urllib , urllib2 , socks , socket
proxys  = open('IPs.txt', 'r')
links  = open('URs.txt', 'r')
#----
P = proxys.readlines()
E = links.readlines()
#----
nm = 0
#----
PROXY = P[nm]
#----
for links in E :
 Post = 'id='+ links
 cj = CookieJar()
 #----
 IP,PORT = PROXY.split(":")
 socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, IP, PORT)
 socket.socket = socks.socksocket
 #----
 opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
 request = urllib2.Request('https://google.com/', Post)
 # ----------------- ++
 nm+=1
 PROXY = P[nm] 
# ----------------- ++

IPs.txt:

代码语言:javascript
复制
96.47.156.166:10200
96.47.88.7:14328
97.88.243.210:24598
98.201.217.101:23320

此处出现错误:

代码语言:javascript
复制
PROXY = P[0] # = 96.47.156.166:10200 #from the text file 
IP,PORT = PROXY.split(":")

 socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "96.47.156.166", "10200")

我需要它像这样工作:

代码语言:javascript
复制
 socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "96.47.156.166", 10200) #withot ""
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-16 21:55:09

您需要将PORT转换为int

代码语言:javascript
复制
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, IP, int(PORT))

注意,如果由于某种原因PORT不能被转换,这将引发一个ValueError,所以您可能想要捕获它。

根据文件结构的不同,PORT最有可能在最后包含一个'\n'。在尝试将其转换为int之前,您需要使用strip将其去掉。

代码语言:javascript
复制
try:
    socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, IP, int(PORT.strip()))
except ValueError:
    print('Illegal port')
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38976741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档