-1

基本上,标题说明了这一点。我需要弄清楚如何将此 HTTP POST 请求发送到另一个网站。(这是我的朋友,所以我不拥有它)

    <html>
    <body>
            <form method="post">
                    <input type="hidden"
                    <?php
                            echo " value='";
                            for($i=0;$i<2147483648;$i++)
                                    {
                                            echo "a";
                                    }
                            echo "'";
                    ?>
                    >
                    <input type="submit">
            </form>
<?php if(isset($_POST['test'])){
    echo $_POST['test'];
}
?>
    </body>
</html>
4

2 回答 2

1

目前,您的代码会创建一个小型网页。该网页使用 HTMLform将数据发送到网站。

<form>您可以通过编辑标签来更改此数据的位置和方法。目前,它使用post(而不是get)并且没有目标网址。如果没有目的地,则它将数据发送给自己。action您可以使用该属性设置目的地,如下所示:

<form method="post" action="http://example.com/pagename">

完成后,在浏览器中查看此页面。您应该看到一个按钮。单击它后,它将将数据发布到action设置的任何位置。

编辑

看起来您正试图向该服务器发送大量数据。仅使用 HTML 表单可能无法按预期工作。

另一种方法是使用cURL. 允许您在 PHP 页面的代码中cURL创建数据。将一个大文件(如电影或其他东西)带到您朋友的服务器POST可能更实用,如下所示:POST

<?php 
//  Code from http://forums.devshed.com/php-development-5/php-curl-send-a-file-533233.html

//  write the path to your file here:
$filename = 'C:/myenormousfile.avi';

//  write the url to your friend's site here:
$url = 'http://example.com/filename';

$file_to_upload = array('file_contents'=>'@' . $filename); 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,$url); 
curl_setopt($ch, CURLOPT_POST,1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $file_to_upload); 
$result=curl_exec ($ch); 
curl_close ($ch); 
echo $result; 
?>

将其保存到.php文件中,并通过本地主机查看文件。如果它工作正常,那么它会尝试POST将文件发送到您朋友的站点。然后它将显示指示上传是否成功的文本。

编辑#2

这可能是一种更简单的方法。它是一个 HTML 网页,因此您唯一需要做的就是将此代码保存到一个.html文件中,然后在任何浏览器中查看它:您不需要对PHPWeb 服务器做任何事情。该页面将让您选择一个文件(同样,您应该使用它来选择一个大文件),并将其发布到您朋友的网站。该文件的大小最大可达 ~4 GB。您可以更改元素的action属性以将文件发送到不同的位置。<form>

<!doctype html>
<html>
<head><title>Pick a File and POST it to your Friend&apos;s Server</title></head>
<body>
<form action="http://www.example.com/pagename" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="5000000" />
<input type="file" name="uploadField" />
<input type="submit" value="Go" />
</form>
</body>
</html>

将其粘贴到文件中,另存为post.html,然后在 Windows 资源管理器中查看该文件。然后右键单击该文件并使用浏览器打开它。您应该会看到一个“浏览...”按钮和一个显示“开始”的按钮。使用“浏览...”选择一个巨大的文件,然后单击“开始”看看会发生什么。

于 2013-01-25T01:23:28.947 回答
0

正如@Chris所提到的

如果无法重定向到此 URL,则可以使用完整路径并使用目标

<form method="post" action="http://example.com/pagename" target="myIframe">

<iframe name="myIframe" style="display:none"></iframe>

已编辑

在此处输入图像描述

此图像说明了两种解决方案

于 2013-01-25T01:51:12.963 回答