python 用socket写简单的客户端没反应

时间:2021-04-01 23:59:48
模仿老师的例子用socket写了一个简单的客户端,只改了主机名和请求内容,可是一直没反应,不知道是程序的问题还是主机地址不对。访问的主机是我在byet.host申请的免费虚拟主机,浏览器里输链接能打开,但是照猫画虎地用socket方法就是没反应。先谢谢大家了!

import socket

#Example
mysock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# print socket.gethostbyname('www.py4inf.com')
mysock.connect(('www.py4inf.com', 80))
mysock.send('GET http://www.py4inf.com/code/romeo.txt HTTP/1.0\n\n')

while True:
    data = mysock.recv(1000)
    if ( len(data) < 1 ) :
        break
    print "--------------------"
    print data

mysock.close()

#My_method
mysock2 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# print socket.gethostbyname('www.ciferzh.byethost12.com')
mysock2.connect(('www.ciferzh.byethost12.com', 80))
mysock2.send('GET http://www.ciferzh.byethost12.com/py.txt HTTP/1.0\n\n')
while True:
    data2 = mysock2.recv(1000)
    if ( len(data2) < 1 ) :
        break
    print "--------------------"
    print data2
mysock2.close()

2 个解决方案

#1


检查socket, connect等函数执行是否返回错误

#2


可能是那http服务器不支持这种socket请求方式, 你可以换成其它网站试试,我试了一下你的代码是行的。

#1


检查socket, connect等函数执行是否返回错误

#2


可能是那http服务器不支持这种socket请求方式, 你可以换成其它网站试试,我试了一下你的代码是行的。