使用php检测远程url的重定向

使用php检测远程url的重定向,php,redirect,curl,Php,Redirect,Curl,我有一个php页面,其中加载了一些预定义的选项和带有html代码的文本框。 之后,它会在远程页面上发布数据 <img src="data:<?php echo $captchaQuery['content_type'] ?>;base64,<?php echo $captcha ?>" alt="Captcha" height="30" align="absbottom" id="msg_captcha" name="msg_captcha"> <inp

我有一个php页面,其中加载了一些预定义的选项和带有html代码的文本框。
之后,它会在远程页面上发布数据

<img src="data:<?php echo $captchaQuery['content_type'] ?>;base64,<?php echo $captcha ?>" alt="Captcha" height="30" align="absbottom" id="msg_captcha" name="msg_captcha">
<input type="text" name="f_captcha" size="8" maxlength="5">
<input type="submit" value="SEND" class="btnorange">
;base64,“alt=“Captcha”height=“30”align=“absbottom”id=“msg\u Captcha”name=“msg\u Captcha”>
在大多数情况下,一切正常,包括远程验证码验证。当我按下发送按钮时,页面提交到远程url并重新加载php页面

我的问题是,‘当用户在远程站点重定向到另一个页面的文本框中输入错误的数据时,我怎样才能抓住重定向的链接并将用户重定向到该页面,而不是重新加载我的php

提交数据的目标url为:$baseurl。?psean=


如果有错误,则返回:$baseurl。?psean=captcha错误

查看服务器是否在响应头中发送重定向位置

$url = "http://www.fb.com";
$headers = get_headers($url, 1);
if(!empty($headers['Location'])) {
  $location = (array) $headers['Location'];
  header('Location:' . end($location));
}

查看服务器是否在响应头中发送重定向位置

$url = "http://www.fb.com";
$headers = get_headers($url, 1);
if(!empty($headers['Location'])) {
  $location = (array) $headers['Location'];
  header('Location:' . end($location));
}

对不正确输入的重定向是否在您的控制下?如果是,您需要在该页面捕获事件。否,重定向在远程站点上。站点决定什么是正确的或不正确的。是的,但是如果信息错误,它会将用户发送到哪里?返回到您的站点,对吗?因为如果不是这样,那么您就没有什么可以做的。除了,不是ry和Ajax提交并捕获响应…但由于跨域提交,这将很复杂。.远程站点实际上拒绝并重定向到同一页面,url本身带有错误消息。请您使用表单所在的示例url和返回的url编辑原始问题。中的重定向是否不正确置于您的控制之下?如果是这样,您需要在该页面捕获事件。不,重定向在远程站点上。站点决定什么是正确的或不正确的。是的,但是如果信息错误,它会将用户发送到哪里?返回到您的站点,对吗?因为如果不是这样,那么您就没有什么可以做的。除了尝试和Ajax提交并捕获事件回答…但由于跨域提交,这会很复杂。.远程站点实际上拒绝并重定向到同一页面,url上有错误消息。请使用表单所在的示例url和返回的url编辑原始问题,好吗?小错误:
current()
需要一个数组。
$headers
是,但
$headers['Location']
不是。小错误:
current()
需要一个数组。
$headers
是,但
$headers['Location']
不是。