Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Socket.error[错误10060]_Python_Python 2.7_Sockets - Fatal编程技术网

Python Socket.error[错误10060]

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.

这就是我试图运行的代码。但是程序会产生一个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.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网关链接。可能是因为网络的安全措施,我该怎么办?您应该阅读代理服务器的文档,或者联系支持部门(如果可以选择客户支持)