PHP使用CURL获取302跳转后的地址实例

直接上代码:

代码如下:

/*返回一个302地址*/
     function  curl_post_302($url, $vars) {

$ch = curl_init();
          curl_setopt($ch,  CURLOPT_RETURNTRANSFER, 1);
          curl_setopt($ch, CURLOPT_URL,  $url);
          curl_setopt($ch, CURLOPT_POST, 1);
          curl_setopt($ch,  CURLOPT_FOLLOWLOCATION, 1); // 302 redirect
          curl_setopt($ch,  CURLOPT_POSTFIELDS, $vars);
          $data = curl_exec($ch);
          $Headers =  curl_getinfo($ch);
          curl_close($ch);
          if ($data != $Headers)
          return  $Headers["url"];
          else
          return false;

}

上面的这个curl_post_302 函数可以直接取到302跳转地址了.

(0)

相关推荐

  • 基于PHP CURL获取邮箱地址的详解

    CURL可谓居家旅行必备之杀人良药,为何如此形容?就是因为他好用方便能实现页面抓取模拟登录采集等一系列功能.记得第一次接触CURL的时候是要实现完成从邮箱用户列表的抓取.当时为了赶进度没有细细研究只是网上找了一些资料实现了功能.现在把当初的代码整理一下功能依旧能用 复制代码 代码如下: <?php  error_reporting ( 0 );  set_time_limit ( 0 );  header ( "Content-Type: text/html; charset=GB2312

  • PHP为表单获取的URL 地址预设 http 字符串函数代码

    复制代码 代码如下: if (!preg_match("/^(http|ftp):/", $_POST['url'])) { $_POST['url'] = 'http://'.$_POST['url']; } 该代码先用正则表达式检查字符串中是否有"http"或"ftp"和冒号":",如果没有,在字符串前添加"http://"

  • php获取当前页面完整URL地址

    使用PHP编写程序的时候,我们常常想要获取当前页面的URL.下面提供一个用于获取当前页面URL的函数以及使用方法: 示例一: <?php // 说明:获取完整URL function curPageURL() { $pageURL = 'http'; if ($_SERVER["HTTPS"] == "on") { $pageURL .= "s"; } $pageURL .= "://"; if ($_SERVER[&q

  • PHP URL地址获取函数代码(端口等) 推荐

    php 获得当前的脚本网址(只有路径) 复制代码 代码如下: function GetCurUrl() { if(!empty($_SERVER["REQUEST_URI"])) { $scrtName = $_SERVER["REQUEST_URI"]; $nowurl = $scrtName; } else { $scrtName = $_SERVER["PHP_SELF"]; if(empty($_SERVER["QUERY_ST

  • PHP获取当前完整URL地址的函数

    这里主要是给大家分享一个非常实用的PHP函数,代码很简单,就不多废话了,小伙伴们需要的话直接拿去用. 复制代码 代码如下: //php获取当前访问的完整url地址 function get_current_url(){     $current_url='http://';     if(isset($_SERVER['HTTPS'])&&$_SERVER['HTTPS']=='on'){         $current_url='https://';     }     if($_SE

  • php 获取完整url地址

    主要是获取到地址栏的一些信息,域名,端口参数等 复制代码 代码如下: <?php //获取域名或主机地址 echo $_SERVER['HTTP_HOST']."<br>"; //获取网页地址 echo $_SERVER['PHP_SELF']."<br>"; //获取网址参数 echo $_SERVER["QUERY_STRING"]."<br>"; //来源网页的详细地址 echo

  • PHP使用CURL获取302跳转后的地址实例

    直接上代码: 复制代码 代码如下: /*返回一个302地址*/     function  curl_post_302($url, $vars) { $ch = curl_init();          curl_setopt($ch,  CURLOPT_RETURNTRANSFER, 1);          curl_setopt($ch, CURLOPT_URL,  $url);          curl_setopt($ch, CURLOPT_POST, 1);          c

  • PHP curl实现抓取302跳转后页面的示例

    PHP的CURL正常抓取页面程序如下: $url = 'http://www.baidu.com'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_VERBOSE, true); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_NOBODY, true); curl_setopt($ch, CURLO

  • iOS 拦截重定向302跳转的方法详解

    一:前言 公司同事在做项目的时候遇到一个302地址跳转的问题,具体需求如下: 1.公司是做WIFI覆盖的,需要在下载APP后才能注册登录以后,自动连接到外网 2.苹果底层不允许我们码农进行WIFI的切换,所以公司考虑使用302重定向来实现,我通过2种方法来实现,NSURLConnetion和NSURLSession 二:NSURLConnetion方法 大概的思路:使用NSURLConnetion类的NSURLConnectionDataDelegate中的代理方法 复制代码 代码如下: -

  • 关于php curl获取301或302转向的网址问题的解决方法

    在使用php的curl获取远程文件,代码如下: 复制代码 代码如下: <? $ghurl = isset($_GET['id']) ? $_GET['id']:'http://www.baidu.com/'; // php 获取 function getContents($url){ $header = array("Referer: http://www.baidu.com/"); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,

  • PHP CURL获取cookies模拟登录的方法

    要提取google搜索的部分数据,发现google对于软件抓取它的数据屏蔽的厉害,以前伪造下 USER-AGENT 就可以抓数据,但是现在却不行了.利用抓包数据发现,Google 判断了 cookies,当你没有cookies的时候,直接返回 302 跳转,而且是连续几十个302跳转,根本抓不了数据.因此,在发送搜索命令时,需要先提取 cookies 并保存,然后利用保存下来的这个cookies再次发送搜索命令即可正常抓数据了.这其实和论坛的模拟登录一个道理,先POST登录,获取cookies并

  • php使用curl获取https请求的方法

    本文实例讲述了php使用curl获取https请求的方法.分享给大家供大家参考.具体分析如下: 今日在做一个项目,需要curl获取第三方的API,对方的API是https方式的. 之前使用curl能获取http请求,但今天获取https请求时,出现了以下的错误提示:证书验证失败. SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_

  • PHP cURL获取微信公众号access_token的实例

    1.开发微信公众号首先要获取access_token,在运行代码前现在开发者设置中把本服务器IP添加到白名单中 public function index(){ $appId = 'wxd0e50fe967dccccc'; $appSecret = 'd7f6be12ce41b60ss0f45054';//虚拟的,不要用 $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=&

  • 微信小程序用户位置权限的获取方法(拒绝后提醒)

    微信小程序获取用户当前位置有三个方式: 1. wx.getLocation(多与wx.openLocation一起用) 获取当前的精度.纬度.速度.不需要授权.当type设置为gcj02 返回可用于wx.openLocation的坐标 2. wx.chooseLocation 需要授权,打开地图选择位置 第一次调用方法时先出现 允许权限之后之后再出现 如果第一次就不允许,则一直调用wx.chooseLocation的fail方法 3. wx.openLocation 需要授权,使用微信内置地图查

  • layui table 复选框跳页后再回来保持原来选中的状态示例

    layui table默认跳页后不存在源页面选中的状态.如果要实现记录源页面的选中状态,需要定义一个全局变量来记录数据选中状态. 1.修改table.js ;layui.define(["laytpl", "laypage", "layer", "form"], function (e) { "use strict"; var t = layui.$, i = layui.laytpl, a = layui

  • springBoot前后端分离项目中shiro的302跳转问题

    springBoot前后端分离项目shiro的302跳转 项目是使用的springboot ,使用的shiro做的用户鉴权.在前端请求时当用户信息失效,session失效的时候,shiro会重定向到配置的login.jsp 页面,或者是自己配置的logUrl. 因是前后端分离项目,与静态资源文件分离,固重定向后,接着会404. 经过查找网上配置资料,发现302原因是 FormAuthenticationFilter中onAccessDenied 方法做了相应处理.那知道问题所在,就可以有解决方了

随机推荐