我正在尝试创建一个页面,将表单提交到另一个网站上的页面,然后检索“结果页面”html并将其存储为变量。
问题有两个:第一,即使我已经用Google搜索了几天(我最初尝试在框架中进行此操作并了解SOP),但我太过于编程新手而无法知道要搜索什么。其次,如果我只是提交表单,它会在另一个域的下一页上正确加载,但该页面会执行某些操作,然后重定向到具有我想要的实际结果的页面。
关于表单提交本身的一切都运行正常,我只是不知道如何将结果(它重定向到的最终页面的HTML)作为PHP中的变量。
它是:
mysite.com/mypage.php
到
othersite.com/results1.php?session_key=abcdefghi123
到
othersite.com/results2.php?session_key=abcdefghi123
我需要最后一个的HTML。
答案 0 :(得分:0)
您可以使用类似这样的内容,其中CURLOPT_POSTFIELDS数组是您的html表单字段。
$h = curl_init();
curl_setopt($h, CURLOPT_URL, "path/to/form.php");
curl_setopt($h, CURLOPT_POST, true);
curl_setopt($h, CURLOPT_POSTFIELDS, array(
'txtfield1' => 'x',
'txtfield2' => 'y'
));
curl_setopt($h, CURLOPT_HEADER, false);
curl_setopt($h, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($h);
echo $result;
关于重定向,再次阅读问题。 请参阅下面的“Du D's”评论,您还需要该行