如何将此HTTP POST数据包发送到网站?

时间:2013-01-25 01:01:41

标签: php

基本上,标题是这样说的。我需要弄清楚如何将此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>

2 个答案:

答案 0 :(得分:1)

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

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

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

完成后,在浏览器中查看此页面。你应该看到一个按钮。点击它后,它会将数据发布到设置为action的任何内容。

修改

看起来您正在尝试向此服务器发送大量数据。如果仅使用HTML表单,这可能无法正常工作。

另一种方法是使用cURLcURL允许您在PHP页面的代码中创建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文件中,然后通过localhost查看该文件。如果它正常工作,那么它将尝试POST该文件到您朋友的网站。然后它会显示指示上传是否成功的文本。

编辑#2

这可能是一种更简单的方法。它是一个HTML网页,因此您唯一需要做的就是将此代码保存到.html文件中,并在任何浏览器中查看它:您不需要对{{1或web服务器。此页面将允许您选择一个文件(再次,您应该使用它来选择一个大文件),并将其发布到您朋友的网站。该文件的大小最大可达4 GB。您可以更改PHP元素的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> ,然后在Windows资源管理器中查看该文件。然后右键单击该文件并使用浏览器打开它。你应该看到一个“浏览...”按钮和一个显示“开始”的按钮。使用“浏览...”选择一个巨大的文件,然后单击“开始”,看看会发生什么。

答案 1 :(得分:0)

如@Chris所述

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

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

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

<强> EDITED

enter image description here

此图像说明两种解决方案