Php 如何逐行传输GET请求?

Php 如何逐行传输GET请求?,php,c++,http,stream,request,Php,C++,Http,Stream,Request,我想向服务器发送一个GET请求,该请求几乎是“实时”流式传输的,使用块传输编码,我可以逐行完全修改。 例如: SendChunks = SomeHTTPLibrary.SendData; SendChunks(Example.org, "5\r\n") SendChunks(Example.org, "Hello\r\n") SendChunks(Example.org, "7\r\n") SendChunks(Example.org, "Goodbye\r\n") SendChunks(Exa

我想向服务器发送一个GET请求,该请求几乎是“实时”流式传输的,使用块传输编码,我可以逐行完全修改。 例如:

SendChunks = SomeHTTPLibrary.SendData;
SendChunks(Example.org, "5\r\n")
SendChunks(Example.org, "Hello\r\n")
SendChunks(Example.org, "7\r\n")
SendChunks(Example.org, "Goodbye\r\n")
SendChunks(Example.org, "0\r\n")

在我现在的位置上,我甚至不在乎倾听别人的回应。它不需要是C++,我对Python、JavaScript、PHP或任何类似的东西都很满意。

< P>首先,你不应该发送请求体以及GET请求。我认为从技术上讲你可以,但是如果服务器对它做了任何事情,那么它就是不兼容的。看

从您的问题来看,似乎您已经知道您需要分块传输编码。下面是一个粗略的示例,说明如何在python中实现这一点,但是使用
POST
请求而不是
GET
请求(代码被黑客攻击):


有关python分块函数的更好示例,请参阅。

“逐行完全修改”-因此。。。您可以使用任何语言的TCP库并编写任何您喜欢的内容-块传输编码或其他-您没有实际的编码问题,这个网站不支持关于语言和库选择的争论……我指的是逐行的实际流,就像控制台发送命令一样,而是GET请求的块。那么?如果您获得一个TCP
socket()
描述符,
connect()
到web服务器,您可以
send()
逐行发送(尽管TCP库和/或缓冲区可以有效地组合或拆分您发送的内容),所以不能保证1:1
recv
s将发生在服务器端。但是,那又怎样?TCP是一种字节流协议-它不尊重任何发送方对消息边界的概念…它们必须在发送的数据中进行编码(例如
\n
s)。GET请求没有正文。您想对其进行区块编码的是什么?“几乎以“实时”方式传输”为什么不使用套接字连接?
import httplib

conn = httplib.HTTPConnection('Example.org')
conn.connect()
conn.putrequest('POST', '/post')
conn.putheader('Transfer-Encoding', 'chunked')
conn.endheaders()

conn.send("5\r\n")
conn.send("hello\r\n")
conn.send("7\r\n")
conn.send("Goodbye\r\n")
conn.send("0\r\n")

resp = conn.getresponse()
print(resp.status, resp.reason, resp.read())
conn.close()