HTTP

时间:2018-12-19 05:11:48

标签: php http vbscript

有些帖子介绍了POSTGET之间的区别,但是我的问题更具体,这里是:

我可以使用此VBScript示例,使用GET从服务器发送数据并获取数据:

Send "https://www.server.com/send.php"
Sub Send(url)
    Dim objHTTP, MyResponse
    Set objHTTP = CreateObject( "WinHttp.WinHttpRequest.5.1" )
    objHTTP.Open "GET", url, False
    objHTTP.Send "One Plus One"
    MsgBox objHTTP.ResponseText()
End Sub

但是如果我将GET更改为POST,则可以使用相同的示例,因此:

  1. 有什么区别?
  2. 我想同时发送和接收数据时应该使用什么?

这是我在服务器上的 PHP 代码,如果您有兴趣的话:

<?php
$stdin = fopen('php://input', 'r');

$Data = '';
while (!feof($stdin))
  $Data .= fread($stdin, 8192);

$Data .= " Equals Two";

echo $Data;
?>

请注意,我没有提到HTML,因为我的代码与它无关,但是如果区别与HTML有关,我将很高兴知道它。

2 个答案:

答案 0 :(得分:1)

POST请求具有一个正文,该正文包含您尝试与该请求一起发送的信息,POST的主要优点是该数据可以很长,甚至可以发送文件。

GET没有正文,如果要发送任何数据,则必须在查询字符串中进行携带,该字符串基本上是URL中?之后的内容。示例:

https://google.com/?q=this+is+the+data

当数据进入URL时,您实际上无法在其中放置任何内容。大多数浏览器和服务器都会将最大URL大小限制为几千字节左右,如果您打算发布长文本或文件,则根本没有什么用。

答案 1 :(得分:-1)

如果要发送和接收数据,则必须使用POST方法将数据发送到将处理该数据并返回结果的服务器,该结果可以直接显示在界面上或保存在文件中以用于用户。以后用。最实用的方法是使用JSON。将结果保存为临时文件或* .json文件。