note 60314 added to function.passthru

From: Date: Tue, 03 Jan 2006 13:51:52 +0000
Subject: note 60314 added to function.passthru
Groups: php.notes 
Request: Send a blank email to php-notes+get-101148@lists.php.net to get a copy of this message
I wrote function, that gets proxy server value from the Internet Explorer (from registry). It was tested in Windows XP Pro (Sorry for my English) <?php function getProxyFromIE() { exec("reg query \"HKEY_CURRENT_USER\Software\Microsoft". "\Windows\CurrentVersion\Internet Settings\" /v ProxyEnable", $proxyenable,$proxyenable_status); exec("reg query \"HKEY_CURRENT_USER\Software\Microsoft". "\Windows\CurrentVersion\Internet Settings\" /v ProxyServer", $proxyserver); if($proxyenable_status!=0) return false; #Can't access the registry! Very very bad... else { $enabled=substr($proxyenable[4],-1,1); if($enabled==0) return false; else { $proxy=ereg_replace("^[ \t]{1,10}ProxyServer\tREG_SZ[ \t]{1,20}","", $proxyserver[4]); if(ereg("[\=\;]",$proxy)) { $proxy=explode(";",$proxy); foreach($proxy as $i => $v) { if(ereg("http",$v)) { $proxy=str_replace("http=","",$v); break; } } if(@!ereg("^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:". "[0-9]{1,5}$",$proxy)) return false; else return $proxy; } else return $proxy; } } } ?> Note, that this function returns FALSE if proxy is disabled in Internet Explorer. This function returns ONLY HTTP proxy server. Usage: <?php $proxy=getProxyFromIE(); if(!$proxy) echo "Can't get proxy!"; else echo $proxy; ?> ---- Manual Page -- http://www.php.net/manual/en/function.passthru.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+60314 Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+60314&report=yes&reason=added+to+the+manual Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+60314&report=yes&reason=bad+code Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+60314&report=yes&reason=spam Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+60314&report=yes&reason=useless Delete: non-english -- http://master.php.net/manage/user-notes.php?action=delete+60314&report=yes&reason=non-english Delete: already in docs -- http://master.php.net/manage/user-notes.php?action=delete+60314&report=yes&reason=already+in+docs Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+60314&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+60314&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#101148) next »