2012-07-18 84 views
-1

我可以发送数据到Web服务器而不使用获取或发布。除了GET和POST之外,还有什么方法可以使用PHP将数据发送到服务器?

+0

http://stackoverflow.com/questions/6464005/alternative-to-get-and-post-methods-to-send-recieve-data-from-a-form – nonshatter 2012-07-18 09:27:38

+0

创建一个套接字=) – k102 2012-07-18 09:27:53

+0

如果您使用的是HTTP,除了'PUT',否。你想做什么?如果您想要一个实际有用的答案,我们需要更多的细节。 – deceze 2012-07-18 09:29:33

回答

0

你不明白GET/POST的意思。它只是HTTP标题中的一个“动词”。你实际上并不是“通过POST发送数据”,这只是一个简短的方式来说“你正在发送一个HTTP请求,头部的POST动词和主体中的任意数据”。 “通过GET发送数据”是一种传统方式,说“使用标头中的GET动词发出HTTP请求,并将一些数据放入URL”

你可以在你希望身体发送任何数据,并获得原始字节,如:

$data = file_get_contents('php://input'); 

如果您使用HTTP,你总是必须使用HTTP动词之一,GET和POST最明显的使用。如果你想避免使用HTTP,使用套接字来构建你想要的任何自定义协议,但你应该有一个真正的理由这样做。

+0

我问我是否发送一些数据到服务器的查询字符串为例如:../set_data.php?var1=123&var2=abc,那么这些变量可以在服务器上作为$ _GET ['var1']和$ _GET ['var2']进行访问,如果我们通过使用$ _POST ['var1' ]和$ _POST ['var2']。现在有没有什么机制可以将数据发送到服务器。 – KJS 2012-07-18 09:54:15

+0

这实际上是PHP的误用。 '$ _GET'数据是来自URL的*查询字符串*的数据。 '$ _POST'数据是来自* HTTP请求体*的数据,它被发送了查询字符串编码。您可以通过手动解析来自'$ _SERVER'的URL或通过获取请求主体(如我的答案中所示)并再次手动解析它来获得。你还需要什么? – deceze 2012-07-18 09:57:20

1

不,没有。你可以做各种事情来隐藏或清理你的GET和POST数据,但这是真的。

0

Cookie,非POST请求(例如HTTP PUT)中的任意HTTP标头和邮件正文。

-1

帖子和获取数据被添加到您的请求的标题和PHP自动解析它们。

你可以使用ajax手动添加任何你想要的标题,并用getallheaders()在PHP中获取它。

相关问题