如何在本地主机上模拟 HTTP POST(*Windows* 不是 Unix)? [复制]

Posted

技术标签:

【中文标题】如何在本地主机上模拟 HTTP POST(*Windows* 不是 Unix)? [复制]【英文标题】:How to simulate HTTP POST on localhost (*Windows* not Unix)? [duplicate] 【发布时间】:2014-01-29 12:46:50 【问题描述】:

在 Windows 下向 localhost 地址/端口发送 HTTP POST 的最简单方法是什么?

例如是否存在任何浏览器插件来执行此操作,或者是否可以在 Chrome 开发人员工具/Firebug 控制台中发送命令?

[以前看过类似的 q 问题,但答案似乎大多建议使用 Unix 工具,例如 CURL 或网站,例如 http://www.hurl.it,这会阻止将请求发送到 localhost。]

【问题讨论】:

经过几分钟的搜索,我发现在here 之前实际上已经询问了一个非常相似的q,因此投票关闭。 【参考方案1】:

我通常使用Advanced REST Client。我认为它也可以离线工作(虽然我的互联网一直在线,但从未尝试过)。

Advanced REST Client for Chrome

我认为该插件也可用于 Firefox。只需谷歌Advanced REST Client

编辑:

其他一些很酷的选择:

Paw(我目前最喜欢的)

Postman

【讨论】:

【参考方案2】:

如果您使用 Chrome,您可以使用 DHC by Restlet 或与 Rest Console.

我认为您也可以找到类似 Firefox 的扩展。

【讨论】:

【参考方案3】:

我会用一个脚本来调用 php 来完成这个帖子。

文件send_post.php

<?php
// here I use argv for URL, but you can adapt it however you like
$url = "http://localhost/".$argv[1];
$data = array('var1' => 'value1', 'var2' => 'value2');

$options = array(
    'http' => array(
        'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
        'method'  => 'POST',
        'content' => http_build_query($data)));

$response = file_get_contents($url, false, stream_context_create($options));

// you can echo the response if you're interrested, or just dump it
echo $response;
?>

测试文件http://localhost/SO/PHP/receive_post.php

<?php print_r ($_POST) ?>

调用

C:\Dev\PHP\SO\PHP>php send_post.php whatever

Warning: file_get_contents(http://localhost/whatever): 
         failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
         in C:\Dev\PHP\SO\PHP\send_post.php on line 12

C:\Dev\PHP\SO\PHP>php send_post.php SO/PHP/receive_post.php
Array
(
    [var1] => value1
    [var2] => value2
)

【讨论】:

批处理文件可能被认为比 GUI 更简单。这完全取决于您对“简单”的定义:)。也许其他一些 OP 会发现这种替代方案更有吸引力,谁知道呢?

以上是关于如何在本地主机上模拟 HTTP POST(*Windows* 不是 Unix)? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

Dart/flutter:如何在模拟器的本地主机上显示来自 API 的图像

模拟本地主机上的慢速连接

如何正确引用本地主机上 PHP、CSS 等的子目录(在 xampp 中)中的文件?

mongoose post.save 在heroku上失败,在本地主机上工作

$.post & AJAX 在服务器上不工作,但在本地主机上工作正常

c#Web Api:本地主机上的 HTTP 200 但远程主机上的 400/401 具有相同的用户