`

PHP中使用cURL获取远程文件时遇到跳转的url

阅读更多

      在PHP中使用cURL写了个简单的方法,来获取一个远程文件时.测试时遇到一个问题:

      即,如果获取远程文件时,需要进行跳转后才能得到实际的文件url,那么获取不能成功.

      怎么解决?


      在Google的过程中看到这篇web: 对于php curl获取301或302转向的网址疑难

      阅读后,了解到解决方法,即通过curl_setopt()设置CURLOPT_FOLLOWLOCATION .

      对于option CURLOPT_FOLLOWLOCATION,具体可以参见:

      http://hk.php.net/manual/en/function.curl-setopt.php


      另外,上面的web讨论的主要问题是本地主机的PHP设置导致CURLOPT_FOLLOWLOCATION不能使用,

提出了解决方法,其原文重点如下:

      把默许的 Default Safe Default Open BaseDir OFF ,疑问就处理了。

分享到:
评论

相关推荐

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

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

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

    在PHP中,cURL库是一个强大的工具,用于发送HTTP请求并获取远程服务器的响应。当涉及到处理HTTP状态码302(临时重定向)时,cURL能够自动处理跳转,但有时可能需要进行特殊配置以确保正确地获取跳转后的页面内容。...

    php download.php实现代码 跳转到下载文件(response.redirect)

    - PHP可以实现远程文件下载到本地,通过cURL库或者file_get_contents函数。 - 对于IE浏览器的中文文件名乱码问题,需要特殊处理编码。 - 强制下载文件,可以使用`Content-Disposition: attachment`头信息,配合...

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

    在PHP中,使用cURL库可以模拟浏览器行为,发送请求到服务器,获取响应内容,或者提交数据到远程服务器。本文详细介绍如何利用PHP中的cURL扩展来获取邮箱地址。 首先,需要注意的是,在使用cURL前,应确保PHP环境...

    PHP实现从远程下载文件的方法

    4. **文件重命名**:在保存远程文件时,可能需要根据文件类型或日期生成新的文件名,以防止覆盖已存在的文件。 5. **进度条显示**:对于大文件,可以考虑实现进度条,让用户知道下载状态。 6. **限速控制**:为了...

    基于PHP的微信域名防封三合一源码(单个域名跳转 多个域名跳转 浏览器打开).zip

    - `file_get_contents()`或`cURL`库:用于发送HTTP请求,检查域名状态或获取远程数据。 - 随机数生成函数:如`rand()`或`mt_rand()`,在多域名跳转中用于决定使用哪个备用域名。 在实际使用时,需要根据自身业务...

    深入PHP curl参数的详解

    在PHP中,`cURL`库提供了一个强大的功能,允许开发者执行HTTP和其他协议的请求,进行数据传输。`curl_setopt`函数是`cURL`库的核心组成部分,它用于设置`cURL`会话的各种选项,以定制网络请求的行为。下面我们将深入...

    PHP实现打包下载文件的方法示例

    总结来说,PHP实现打包下载文件的关键在于利用cURL获取远程文件,使用ZipArchive创建压缩包,最后通过设置HTTP响应头触发浏览器下载。这个过程涉及到文件I/O、网络请求、文件压缩以及HTTP协议的理解,是PHP在Web开发...

    深入理解curl类,可用于模拟get,post和curl下载

    在这个方法中,首先会使用curl_init函数初始化一个cURL会话,并将目标URL作为参数传递。紧接着,通过curl_setopt函数设置cURL选项,包括设置不显示header信息(CURLOPT_HEADER),使curl_exec返回结果而非直接输出...

    php手册php手册php手册php手册php手册

    2. URL处理:`parse_url()`解析URL,`file_get_contents()`远程获取内容。 八、会话管理 PHP的`session`模块用于跟踪用户状态,`session_start()`启动会话,`$_SESSION`全局数组存储会话数据。 九、日期与时间 ...

    贪玩php面试题.docx

    2. **抓取远程图片**:在PHP中,可以使用`file_get_contents`或`curl`函数抓取远程图片并保存到本地。 3. **CGI与FastCGI**:CGI(Common Gateway Interface)是Web服务器与脚本语言交互的一种标准协议。FastCGI是...

    网页微信PHP登录的实现.zip

    `curl`库(Client URL Library)用于在PHP中发送HTTP请求,处理与远程服务器的交互,如获取授权码、Access Token等。它支持多种协议,包括HTTP、HTTPS,是实现Web服务接口调用的重要工具。 另外,`pcntl`或`...

    php笔试题汇总(超级精华的试题)

    `REMOTE_ADDR`获取客户端IP,`QUERY_STRING`获取URL中的查询字符串,`DOCUMENT_ROOT`获取当前运行脚本的文档根目录。 7. **HTTP状态码**:401是未经授权,表示用户没有提供有效的身份验证信息。`header()`函数可以...

    基于PHP的简单采集数据入库程序

    1. **远程获取信息**:这里使用了PHP内置的`file_get_contents`函数,这个函数可以用来读取一个URL的内容,从而获取远程网页的HTML源码。 2. **提取所需内容**:在获取到HTML源码后,通常会使用正则表达式(`preg_...

    Link

    5. **外部资源链接**:PHP可以通过`file_get_contents()`、`cURL`库等方式获取远程资源,这在处理API调用、网页抓取等场景中非常常见。链接格式正确是确保成功通信的关键。 6. **自定义错误处理**:通过设置`error_...

    Asterisk常用命令

    3. **DBget**: 从数据库中获取值。 4. **DBput**: 向数据库中存储值。 5. **MYSQL**: 执行MySQL数据库操作。 #### 应用集成 1. **AGI**: 执行AGI(Asterisk Gateway Interface)脚本。 2. **DeadAGI**: 在挂断的...

Global site tag (gtag.js) - Google Analytics