GVKun编程网logo

代理后面有file_get_contents吗?(代理文件是什么)

12

在本文中,我们将给您介绍关于代理后面有file_get_contents吗?的详细内容,并且为您解答代理文件是什么的相关问题,此外,我们还将为您提供关于curl和file_get_contents抓取

在本文中,我们将给您介绍关于代理后面有file_get_contents吗?的详细内容,并且为您解答代理文件是什么的相关问题,此外,我们还将为您提供关于curl 和 file_get_contents 抓取网页乱码的解决之道 filegetcontents超时 js file get contents wp file get contents、file_get_contents、file_get_contents () 跳转问题、file_get_contents PHP file_get_contents 函数超时的几种解决方法的知识。

本文目录一览:

代理后面有file_get_contents吗?(代理文件是什么)

代理后面有file_get_contents吗?(代理文件是什么)

在工作中,我们必须使用代理来基本访问端口80,例如,我们为每个用户拥有自己的自定义登录名。

我的临时解决方法是使用curl基本上通过代理以自己的身份登录并访问所需的外部数据。

我是否可以设置某种高级php设置,以便在内部每次尝试调用类似file_get_contents()内容时都总是通过代理进行?我在Windows
ATM上,所以如果那是唯一的方法,那么重新编译会很麻烦。

我的解决方法是暂时的,原因是我需要一个通用的解决方案并且可以为多个用户使用,而不是使用一个用户的凭据(我曾经考虑过单独请求一个用户帐户来执行此操作,但是密码经常更改,因此需要在整个过程中部署此技术十几个或更多站点)。我基本上不想对证书进行硬编码以使用curl解决方法。

答案1

小编典典

file_get_contents()通过/通过不需要身份验证的代理来使用,应执行以下操作:

(我无法对此进行测试:我的代理服务器需要身份验证)

$aContext = array(    ''http'' => array(        ''proxy''           => ''tcp://192.168.0.2:3128'',        ''request_fulluri'' => true,    ),);$cxContext = stream_context_create($aContext);$sFile = file_get_contents("http://www.google.com", False, $cxContext);echo $sFile;

当然,请用适合您的代理替换IP和端口;-)

如果您遇到这种错误:

Warning: file_get_contents(http://www.google.com) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 407 Proxy Authentication Required

这意味着您的代理服务器需要身份验证。

如果代理需要身份验证,则必须添加几行,如下所示:

$auth = base64_encode(''LOGIN:PASSWORD'');$aContext = array(    ''http'' => array(        ''proxy''           => ''tcp://192.168.0.2:3128'',        ''request_fulluri'' => true,        ''header''          => "Proxy-Authorization: Basic $auth",    ),);$cxContext = stream_context_create($aContext);$sFile = file_get_contents("http://www.google.com", False, $cxContext);echo $sFile;

关于IP和端口,这次也是登录和密码;-)检查所有有效的http选项。

现在,您正在将Proxy-Authorization标头传递给代理,其中包含您的登录名和密码。

并且…应显示该页面;-)

curl 和 file_get_contents 抓取网页乱码的解决之道 filegetcontents超时 js file get contents wp file get contents

curl 和 file_get_contents 抓取网页乱码的解决之道 filegetcontents超时 js file get contents wp file get contents

    今天用 curl_init 函数抓取搜狐的网页时,发现采集的网页时乱码,经过分析发现原来是服务器开启了gzip压缩功能。只要往函数 curl_setopt 添加多个选项 curlopt_encoding 解析 gzip 就可以正确解码了。
    还有如果抓取的网页时 gbk 编码,但是脚本确是 utf-8 编码,还得把抓取的网页再用函数 mb_convert_encoding 转换下。
    $tmp = sys_get_temp_dir();
    $cookiedump = tempnam($tmp, ''cookies'');
    $url = ''http://tv.sohu.com'';
    $ch = curl_init();
    curl_setopt ($ch, curlopt_url, $url);
    curl_setopt ($ch, curlopt_header, 1);// 显示返回的header区域内容
    curl_setopt ($ch, curlopt_followlocation, 1); // 使用自动跳转
    curl_setopt ($ch, curlopt_timeout, 10);// 设置超时限制
    curl_setopt ($ch, curlopt_returntransfer, 1); // 获取的信息以文件流的形式返回
    curl_setopt ($ch, curlopt_connecttimeout,10);// 链接超时限制
    curl_setopt ($ch, curlopt_httpheader,array(''accept-encoding: gzip, deflate''));//设置 http 头信息
    curl_setopt ($ch, curlopt_encoding, ''gzip,deflate'');//添加 gzip 解码的选项,即使网页没启用 gzip 也没关系
    curl_setopt ($ch, curlopt_cookiejar, $cookiedump);  // 存放cookie信息的文件名称
    $content = curl_exec($ch);
    // 把抓取的网页由 gbk 转换成 utf-8 
    $content = mb_convert_encoding($content,"utf-8","gbk");
?>
    $url = ''http://tv.sohu.com'';
    // 只要添加 compress.zlib 选项,即使服务器启用了gzip 压缩功能,就能够解码了
    $content = file_get_contents("compress.zlib://".$url);
    // 把抓取的网页由 gbk 转换成 utf-8 
    $content = mb_convert_encoding($content,"utf-8","gbk");
?>
原文:http://woqilin.blogspot.com/2014/05/curl-filegetcontents.html

以上就介绍了curl 和 file_get_contents 抓取网页乱码的解决之道,包括了file_get_contents方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

file_get_contents

file_get_contents

file_get_contents读取网络上的图片文件并由file_put_contesnts写入到服务器本地无法写入问题
默认下selinux是开启的
查看SELinux状态:
1、/usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态
SELinux status:                 enabled
2、getenforce                 ##也可以用这个命令检查
关闭SELinux:
1、临时关闭(不用重启机器):
setenforce 0                  ##设置SELinux 成为permissive模式
                              ##setenforce 1 设置SELinux 成为enforcing模式
2、修改配置文件需要重启机器:
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可

另外,如果以上还是不能解决的话要设置一下目录的权限策略
chcon -R -t httpd_sys_content_t /home/html

AD:真正免费,域名+虚机+企业邮箱=0元

file_get_contents () 跳转问题

file_get_contents () 跳转问题

基于本地测试
$a = file_get_contents($url)
1. $url 为 http://www.baidu.com 或者 http://www.360buy.com,用 echo 或者 print_r $a 之后,页面跳转到对应的 url,而不是本地测试地址了;
2. $url 为 http://www.dangdang.com,页面没有排版,应该是 css 文件未加载;

请问是什么原因呢?请大牛不吝指导,多谢!

file_get_contents PHP file_get_contents 函数超时的几种解决方法

file_get_contents PHP file_get_contents 函数超时的几种解决方法

这里就简单介绍两种:
一、增加超时的时间限制
这里需要注意:set_time_limit只是设置你的PHP程序的超时时间,而不是file_get_contents函数读取URL的超时时间。
我一开始以为set_time_limit也能影响到file_get_contents,后来经测试,是无效的。真正的修改file_get_contents延时可以用resource $context的timeout参数:

复制代码 代码如下:


$opts = array(
‘http''=>array(
‘method''=>”GET”,
‘timeout''=>60,
)
);
$context = stream_context_create($opts);
$html =file_get_contents(''http://www.example.com'', false, $context);
fpassthru($fp);


二、一次有延时的话那就多试几次
有时候失败是因为网络等因素造成,没有解决办法,但是可以修改程序,失败时重试几次,仍然失败就放弃,因为file_get_contents()如果失败将返回 FALSE,所以可以下面这样编写代码:

复制代码 代码如下:


$cnt=0;
while($cnt

以上就介绍了file_get_contents PHP file_get_contents 函数超时的几种解决方法,包括了file_get_contents方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

今天关于代理后面有file_get_contents吗?代理文件是什么的介绍到此结束,谢谢您的阅读,有关curl 和 file_get_contents 抓取网页乱码的解决之道 filegetcontents超时 js file get contents wp file get contents、file_get_contents、file_get_contents () 跳转问题、file_get_contents PHP file_get_contents 函数超时的几种解决方法等更多相关知识的信息可以在本站进行查询。

本文标签: