PHP下通过file

PHP使用file_get_contents的代理方法获取远程网页的代码。
复制代码 代码如下:
<?php
$url = "http://www.jb51.net/";
$ctx = stream_context_create(array(
'http' => array('timeout' => 5,
'proxy' => 'tcp://60.175.203.243:8080',
'request_fulluri' => True,)
)
);
$result = file_get_contents($url, False, $ctx);
echo $result;
?>

另外一种 curl 的方式使用代理的方法:
复制代码 代码如下:
function postPage($url)
{
$response = "";
$rd=rand(1,4);
$proxy='http://221.214.27.253:808';
if($rd==2) $proxy='http://222.77.14.56:8088';
if($rd==3) $proxy='http://202.98.123.126:8080';
if($rd==4) $proxy='http://60.14.97.38:8080';
if($url != "") {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
$response = curl_exec($ch);
if(curl_errno($ch)) $response = "";
curl_close($ch);
}
return $response;
}

用file_get_contents解决ajax垮域问题

在ajax运用中有时候会垮域调用文件,而浏览器为了安全会默认给这种操作提出警告,甚至直接阻止。如果是IE会弹出一个警告窗口,询问你是否继续操作,只有你同意了IE才会调用垮域的文件。而其它浏览器,如火狐、Opera默认设置下则会直接提示错误,阻止调用外域文件。这会给用户不好的操作体验,如果想通过用户修改浏览器的安全设置来解决这个问题是不现实的,最好是在服务器端解决。

在服务器端可以使用一个同域的文件做为代理文件,这个代理文件将获得外域文件的内容,然后再传递给ajax。这样ajax就不是调用外域文件,而是调用同域的这个代理文件,安全问题也就解决了。

如果你的服务器端支持PHP的话,可以使用file_get_contents这个函数,看到它的名称就已经知道它有获得其它文件内容的功能了。它的详细用法可以参看PHP官方网站上的file_get_contents用法一页,下面是它的简单实例。
复制代码 代码如下:
<?php
$serverAddress = 'http://s.jb51.net';
//获得外域文件内容
$randomNumber = file_get_contents($serverAddress);
//输出内容
echo $randomNumber;
?>

时间: 2024-12-08 15:50:54

PHP下通过file的相关文章

ie 6-IE6下,File上传图片

问题描述 IE6下,File上传图片 IE6下,File上传图片,当选中图片后并没有触发change事件,需要file失去焦点才会触发change.有什么办法选中了文件立刻触发change事件. 解决方案 不行就用计时器定时检查file对象值如果不一样就直接执行change绑定的事件 <input type="file" id="fl" onchange="alert('change')" /> <script> var

Firefox下input file的width

问题描述 我的测试代码如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>test</title> </head> <body><input st

Windows下Java File对象创建文件夹时的一个&quot;坑&quot;

import java.io.File; import java.io.IOException; public class DirCreate { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub String dirStr="D:"; File dir=new File(dirStr); System.out.println("====

对Windows下的File Mapping一个简单的封装

头文件: #ifndef __SharedMemory_H__#define __SharedMemory_H__class SharedMemory{public:    /// 访问模式    enum AccessMode    {        AM_READ = 0,    ///< 读        AM_WRITE        ///< 写    };public:    SharedMemory(const std::string& name, std::size_t

Java File类的常用方法总结

 这篇文章主要介绍了Java File类的常用方法总结,本文讲解了File类的常用方法,并对一些方法给出了代码示例,需要的朋友可以参考下     Java File类的功能非常强大,利用Java基本上可以对文件进行所有的操作.本文将对Java File文件操作类进行详细地分析,并将File类中的常用方法进行简单介绍,有需要的Java开发者可以看一下. 构造函数 代码如下: public class FileDemo { public static void main(String[] args)

Android配置----DDMS 连接真机(己ROOT),用file explore看不到data/data文件夹的解决办法

[正文] Android DDMS 连接真机(己ROOT),用file explore看不到data/data文件夹,问题在于data文件夹没有权限,用360手机助手或豌豆荚也是看不见的. 有以下两种解决方法: 方法一:使用adb shell命令 注:android下的shell是不完整的,不能用-R参数,即使su到root帐号也执行不了.效果如下:  所以只能一个一个文件夹去设置权限.打开cmd控制台,依次执行以下命令: adb shell su chmod 777 /data chmod 7

Android中对/data/data/&amp;lt;package name&amp;gt;/files下文件的读写操作

本文重点展示,对/data/data/<package name>/files中文件的读写操作的实现.       一.写出数据到files文件夹中,Activity提供了openFileOutput()方法,可以把数据输出到/data/data/<package name>/files的文件夹中. public class FileActivity extends Activity { @Override public void onCreate(Bundle savedInst

java-如何将file 置为null。

问题描述 如何将file 置为null. 我想将file重复利用,使用后将其置为null 我试了下,file = null,无效.用file.delete,file对象都给干掉了. 有没有什么其它的办法 解决方案 File只是对文件路径的一个描述,其实力对象不像io流对象的创建耗费较多系统资源,其实没有重复利用file对象的必要. 解决方案二: f.createNewFile();

File, FileReader 和 Ajax 文件上传实例分析(php)_javascript技巧

File FileReader 可以干什么? Ajax文件上传例子 FileReader 对象可以读取文件的 Base64编码数据(readAsDataURL),2进制字符串(readAsBinaryString),文本(readAsText)并且都是异步的. 对了,Email拖拽附件上传就可以利用 FileReader 配合 Ajax 完成. File 对象 File对象可以从 input[type=file].files 数组,和拖拽事件 event.dataTransfer.files 中