Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用curl上传文件,遵循重定向并下载后续网页_Php_Html_Redirect_Curl_Post - Fatal编程技术网

Php 使用curl上传文件,遵循重定向并下载后续网页

Php 使用curl上传文件,遵循重定向并下载后续网页,php,html,redirect,curl,post,Php,Html,Redirect,Curl,Post,如果我所要求的是显而易见的,或者已经在其他地方得到了回答,请提前道歉。我试着遵循各种指南,现在已经挣扎了几个小时,但没有成功。也许你能帮我 我想上传一个文件到一个带有PHP表单的网页(使用POST),然后按照网页给出的重定向,下载后续的网页/HTML文件。据我所知,cURL应该用于这类工作(如你所见,我对这一点完全陌生) 下面是我想上传的测试文件: 隐藏链接 这是带有PHP表单的网页,我想将测试文件上载到该网页: 隐藏链接 您可以在浏览器中手动上载测试文件。然后,该网页会将您重定向到一个带有大表

如果我所要求的是显而易见的,或者已经在其他地方得到了回答,请提前道歉。我试着遵循各种指南,现在已经挣扎了几个小时,但没有成功。也许你能帮我

我想上传一个文件到一个带有PHP表单的网页(使用POST),然后按照网页给出的重定向,下载后续的网页/HTML文件。据我所知,cURL应该用于这类工作(如你所见,我对这一点完全陌生)

下面是我想上传的测试文件: 隐藏链接

这是带有PHP表单的网页,我想将测试文件上载到该网页: 隐藏链接

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

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

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

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

我们的想法是上传测试文件,然后按照重定向将新网页另存为savedpage.html。这是行不通的。这方面你能给我指路吗?再次表示最深切的歉意,但这是我第一次使用cURL。

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

表单本身位于
/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
不是必需的,因为站点似乎没有发送任何
位置
标题;尽管如此,拥有它并没有什么坏处。

非常感谢您!事实上,这确实起到了作用——我确信我实际上已经尝试了两个链接,但可能是另一个脚本组合!谢谢!