所以我到了网络服务器,我可以用下一个代码显示信息
#!/usr/bin/env python
import socket
import sys
HOST = 'www.inf.utfsm.cl'
GET = '/~mvaras/tarea1.php'
UA = 'tarea1'
PORT = 80
try:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
except socket.error, msg:
sys.stderr.write("[ERROR] %s\n" % msg[1])
sys.exit(1)
try:
sock.connect((HOST, PORT))
except socket.error, msg:
sys.stderr.write("[ERROR] %s\n" % msg[1])
sys.exit(2)
sock.send("GET %s HTTP/1.1\r\nHost: %s\r\n\r\nUser-Agent: %s\r\n\r\n" % (GET, HOST, UA))
sock.send("POST Alexis Ahumada 17536441-2HTTP/1.1\r\n\r\nUser-Agent: tarea1\r\n\r\n")
data = sock.recv(1024)
string = ""
while len(data):
string = string + data
data = sock.recv(1024)
sock.close()
print string
sys.exit(0)
但问题是我发送的信息(Alexis Ahumada 17536441-2)从未写过服务器日志(www.inf.utfsm.cl/~mvaras/tarea1.log)我想知道我是什么#39;做错了。非常感谢任何帮助我现在到处都是:(
答案 0 :(得分:2)
更改
TCP_IP = ('http://www.inf.utfsm.cl/~mvaras/tarea1.php')
到
TCP_IP = 'www.inf.utfsm.cl'
然后您需要发送“~mvaras / tarea1.php”的HTTP请求
问题在于您尝试通过TCP连接在HTTP协议中进行通信 - HTTP是一种更高级别的协议。
而不是使用socket
,您需要使用requests库。