pythonsocket编程:Post语句信息没有到达web服务器?

2024-06-07 15:51:07 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我到了网络服务器,我可以用下一个代码显示信息

#!/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)我想知道我做错了什么。非常感谢您的帮助,我已经到处找遍了:(


Tags: import服务器hostdatagetstringwwwsys
1条回答
网友
1楼 · 发布于 2024-06-07 15:51:07

改变

TCP_IP = ('http://www.inf.utfsm.cl/~mvaras/tarea1.php')

TCP_IP = 'www.inf.utfsm.cl'

然后,您需要发送一个对“~mvaras/tarea1.php”的HTTP请求

问题是您试图通过TCP连接使用HTTP协议进行通信—HTTP是一种更高级别的协议。你知道吗

为此,您需要使用requests库,而不是使用socket。你知道吗

相关问题 更多 >

    热门问题