如何在本地主机上模拟 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上失败,在本地主机上工作