① HTTP是如何工作的
在HTTP通信链上,客户端和目标服务器之间通常存在某些中转代理服务器,它们提供对目标资源的中转访问。一个HTTP请求可能被多个代理服务器转发,后面的服务器称为前面服务器的上游服务器。代理服务器按照其使用方式和作用,分为正向代理服务器,反向代理服务器和透明代理服务器。
正向代理要求客户端自己设置代理服务器的地址。客户的每次请求都将直接发送到该代理服务器,并由代理服务器来请求目标资源。比如处于防火墙内的局域网机器要访问Internet,或者要访问一些被屏蔽掉的国外网站,就需要使用正向代理服务器。
反向代理则被设置在服务器端,因而客户端无需进行任何设置。反向代理是指用代理服务器来接收Internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从内部服务器上得到的结果返回给客户端。这种情况下,代理服务器对外就表现为一个真实的服务器。各大网站通常分区域设置了多个代理服务器,所以在不同的地方同一个域名可能得到不同的IP地址,因为这些IP地址实际上是代理服务器的IP地址。
HTTP代理服务器的工作原理
如图所示,正向代理服务器和客户端主机处于同一个逻辑网络中。该逻辑网络可以是一个本地LAN,也可以是一个更大的网络。反向代理服务器和真正的Web服务器也位于同一个逻辑网络中,这通常由提供网站的公司来配置和管理。
透明代理只能设置在网关上。用户访问Internet的数据报必然都经过网关,如果在网关上设置代理,则该代理对用户来说显然是透明的。透明代理可以看作正向代理的一种特殊情况。
代理服务器通常还提供缓存目标资源的功能,这样用户下次访问同一资源时速度将很快。优秀的开源软件squid,varnish都是提供了缓存能力的代理服务器软件,其中squid支持所有代理方式,而varnish仅能用作反向代理。
② 如何判断代理服务器是http代理还是sock5代理
找个代理软件测下,比如代理超人 花刺代理验证等
③ php做http代理服务器问题 除了phpsocks5以外有别的方式来做吗 我想用PHP空间来做代理服务器
下载一个php的proxy传到服务器就偶看了
④ 如何在linux系统安装php代理服务器和MYSQL
下载安装一般现在的linux安装镜像或者光盘安装都自带mysql。在装linux是自定义组件安装里面有。下载php和nginx安装, # 下载最新版本Nginx 网址 http://nginx.org/en/download.html wget http://nginx.org/download/nginx-0.8.53.tar.gz # 解压下载下好的源码包 tar zxvf nginx-0.8.53.tar.gz # 进入解压出的源码文件夹 cd nginx-0.8.53 # 配置nginx ./configure --prefix=/opt/nginx --with-http_stub_status_mole 解释: --prefix 为安装路径,--with-为需要安装的模块,具体可以运行 ./configure --help 查看有效模块 # 编译并安装 nginx make && make install # 启动 nginx /opt/nginx/sbin/nginx # 停止 nginx /opt/nginx/sbin/nginx -s stop # 重载 nginx /opt/nginx/sbin/nginx -s reload 其他配置你在豆丁文档里面搜索会发现有很详细的教程。最后 lnmp是一个经典架构的名称,学php一开始听过一次。。他字面意思楼主不是已经写出来了么。。。就是linux下nginx...mysql php 首字母缩写。。就是在linux系统下用代理服务器 数据库 网页开发的一种web服务模式
⑤ 可以通过购买虚拟主机搭建自己的http代理服务器吗
虚拟主机是无法作为VPN来使用的 建议您使用香港VPS或者云主机 , 可以开启VPN服务。 希望可以帮到你 时代互联为您解答
⑥ php如何通过代理发送邮件(内详)
HTTP服务器肯定有两块网卡了
一块是管着HTTP 一块是管着上网,
所以你只要知道他的默认网关或者第2个IP地址就可以了
⑦ 代理IP怎么会经常掉线
代理IP会经常掉线的原因有以下几种: 代理IP怎么会经常掉线?
1、网络环境
大多数IP软件稳定性有一定的保证,但是因为网络环境不稳定而出现掉线的情况是经常有,所以,在使用之前,一定需要确认网络环境是否属于稳定。
2、ip的重复率
ip不能重复的现象,因为ip重复了就很容易被检查出来,代理IP就会被掉线,严重的话封号,要不然就降权,这情况下我们需要熟悉自己做的那方面这里有什么规则雷区是不能碰的,这样才能保证在使用代理ip软件的情况下能达到目标。
3、网速原因
若是代理IP在使用的过程中网速慢的话也会产生掉线的问题,因此,大家要随时注意代理IP的网速。
⑧ php 获取真实IP,区分代理IP
使用php获取IP的方法能找到很多。
function getIp(){
if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
$ip = getenv("HTTP_CLIENT_IP");
else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
$ip = getenv("REMOTE_ADDR");
else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
$ip = $_SERVER['REMOTE_ADDR'];
else
$ip = "unknown";
return($ip);
}
对这段代码进行解释,这里用到了两个函数,getenv()和strcasecmp(),前一个函数获取得系统的环境变量,如果能取到值,则返回该值,不能则返回false.
$_SERVER是服务器超级全局变量数组,用$_SERVER['REMOTE_ADDR']同样可以获取到客户端的IP地址.二者的区别在于,getenv不支持IIS的isapi方式运行的php.
strcasecmp(string1,string2)字符串函数的用法是把string1和string2进行比较,如果相等返回0,如果string1大于string2,返回大于0的数,小于则返回小于0的数.
函数先使用客户IP,如果不成立尝试用代理的方法,如果不行,再使用REMOTE_ADDR。
⑨ phpstorm 怎么设置http代理服务器
1:点击File-Settings-Deployment 。点+按钮增加服务
2:填写Apache服务器的路径
3:现在打开通过PhpStorm打开浏览器再试试就可以了。
⑩ 怎么样用php语言实现通过proxy代理服务器访问网站呢
function curl_string ($url,$timeout = 3,$proxy=1){
$ua = array('Mozilla','Opera','Microsoft Internet Explorer','ia_archiver');
$op = array('Windows','Windows XP','Linux','Windows NT','Windows 2000','OSX');
$agent = $ua[rand(0,3)].'/'.rand(1,8).'.'.rand(0,9).' ('.$op[rand(0,5)].' '.rand(1,7).'.'.rand(0,9).'; en-US;)';
Tor 地址与端口
$tor = 'http://www.aimilife.com'; //这里是你的代理服务器
连接超时设置
$timeout = 3;
$ack = curl_init();
if($proxy)
{
curl_setopt($ack, CURLOPT_PROXY, $tor);
}
curl_setopt($ack, CURLOPT_URL, $url);
curl_setopt($ack, CURLOPT_HEADER, 0);
curl_setopt($ack, CURLOPT_USERAGENT, $agent);
curl_setopt($ack, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ack, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ack, CURLOPT_TIMEOUT, $timeout);
$result = curl_exec($ack);
curl_close($ack);
return $result;
}