2

我正在尝试制作一个将表单提交到另一个网站上的页面的页面,然后检索“结果页面”html并将其存储为变量。

问题有两个方面:首先,我是一个编程新手,不知道要搜索什么,即使我已经用谷歌搜索了好几天(我最初尝试在框架中这样做并了解了 SOP)。其次,如果我只是提交表单,它会在另一个域的下一页上正确加载,但该页面会做一些事情,然后重定向到具有我想要的实际结果的页面。

关于表单提交本身的一切工作正常,我只是不知道如何将结果(它重定向到的最终页面的 HTML)作为 PHP 中的变量提取。

它去:

mysite.com/mypage.php

othersite.com/results1.php?session_key=abcdefghi123

othersite.com/results2.php?session_key=abcdefghi123

我需要最后一个的html。

4

1 回答 1

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”评论,您还需要该行

于 2013-04-19T01:53:16.507 回答