Python Socket.error[错误10060]
这就是我试图运行的代码。但是程序会产生一个socket.error。我有一个端口为8080的网络代理,它将我连接到Internet,要创建此套接字连接,我还需要在此处添加哪些详细信息Python Socket.error[错误10060],python,python-2.7,sockets,Python,Python 2.7,Sockets,这就是我试图运行的代码。但是程序会产生一个socket.error。我有一个端口为8080的网络代理,它将我连接到Internet,要创建此套接字连接,我还需要在此处添加哪些详细信息 import socket mysock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) mysock.connect(('www.pythonlearn.com', 80)) mysock.send('GET http://www.pythonlearn.
import socket
mysock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
mysock.connect(('www.pythonlearn.com', 80))
mysock.send('GET http://www.pythonlearn.com/code/intro-short.txt HTTP/1.0\n\n')
while True:
data = mysock.recv(512)
if ( len(data) < 1 ) :
break
print data;
mysock.close()
导入套接字
mysock=socket.socket(socket.AF\u INET,socket.SOCK\u流)
connect(('www.pythonlearn.com',80))
mysock.send('GEThttp://www.pythonlearn.com/code/intro-short.txt HTTP/1.0\n\n')
尽管如此:
data=mysock.recv(512)
如果(len(数据)<1):
打破
打印数据;
mysock.close()
如果我运行你的代码,我会得到错误TypeError:需要一个类似字节的对象,而不是第5行的“str”
尝试使用:
mysock.send(b'GEThttp://www.pythonlearn.com/code/intro-short.txt HTTP/1.0\n\n')
,在字符串前面加上b
,通过testring指示a,我在运行代码时也遇到了类型错误,连接套接字时没有出现错误。使用套接字库时,请使用makefile方法,这样就不必处理烦人的细节
mysock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
my_sock_input = mysock.makefile('r')
my_sock_output = mysock.makefile('w')
现在,我的\u sock\u输入可以使用像readline()
这样的方法,而不需要任何关于要保留字节或wotnot的详细信息。同样方便的输出,但写。记得把它们都关上
至于您的问题,我尝试使用makefile变量编写类似的东西,但没有收到任何消息。所以还有其他一些问题
现在,解决方案。下载url并读取其内容的更简单方法是使用urllib.request
库。如果您使用的是Python2.7,只需导入urrlib即可
import urllib.request
data = urllib.request.urlopen('http://www.pythonlearn.com/code/intro-short.txt')
readable = data.read()
print(readable)
尝试使用socks
通过中给出的代理。您必须连接到代理(mysock.connect(('localhost',8080))
)。然后代理将负责连接到www.pythonlearn.com:80
我试图通过导入socks库连接到代理,但被重定向到McAfee网关链接。可能是因为网络的安全措施,我该怎么办?您应该阅读代理服务器的文档,或者联系支持部门(如果可以选择客户支持)