使用curl上传文件,按照重定向并下载后续网页

时间:2017-02-20 17:56:52

标签: php html redirect curl post

如果我要求的内容很明显或者已经在其他地方得到回答,请提前道歉。我试图遵循各种指南,现在已经挣扎了几个小时,但没有设法到达任何地方。也许你可以帮助我?

我想将文件上传到带有PHP表单的网页(使用POST),然后按照网页的重定向提供并下载后续的网页/ HTML文件。据我所知,cURL应该被用于这类工作(正如你所看到的,我对此完全陌生)。

这是我要上传的测试文件: hiddenlink

这是我想要上传测试文件的PHP表单的网页: hiddenlink

您可以在浏览器中手动上传测试文件。然后,该网页会将您重定向到包含大表的新网页。然后可以手动保存此网站/ HTML文件。

我想在终端中复制这种方法,而不必使用浏览器。

这是我到目前为止使用的代码:

curl -vL --form fileToUpload=@Test_Upload.txt --form press=submit *hiddenlink* -o savedpage.html

想法是上传测试文件,然后按照重定向并将新网页保存为savedpage.html。这没有用。你能给我任何指示吗?再次,我最深的道歉,但这是我第一次使用cURL。

1 个答案:

答案 0 :(得分:1)

我看到的主要问题是您要发布到错误的页面进行上传。

位于/upload/的表单本身就是您要发布的内容,但如果您查看表单的HTML,则操作为upload.php。这是您应该指导您的请求的地方。注意:curl不会读取HTML,因此无法通过发布到第一个URL来确定它是否要发送到HTML中定义的表单;你必须弄明白并自己动手。

curl -v -F fileToUpload=@foo.txt \
-F submit='Upload File' \
-o savedpage.html \
http://www.example.com/upload/upload.php

-L不是必需的,因为它不会显示该网站发送任何Location标头;尽管如此,它并没有什么坏处。