注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

涅槃

文档收藏

 
 
 

日志

 
 
 
 

php访问带基本认证的页面  

2013-07-10 13:34:40|  分类: php |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
Php代码  收藏代码
  1. $host = '192.168.2.1'//主机  
  2. $path = '/status.htm'//路径  
  3. $user = 'admin'//用户名  
  4. $pass = 'admin'//密码  
  5. $queryString = '?a=1&b=2'//query字串  
  6.   
  7. //方法一,使用fsockopen  
  8. $authorizationToken = base64_encode("{$user}:{$pass}");   
  9. $fp = fsockopen('tcp://' . $host, 80, $errorNo$errorMsg, 45);  
  10. //$fp = fsockopen('ssl://' . $host, 443, $errorNo, $errorMsg, 45);   
  11. if (!$fp) {  
  12.     echo 'error: '$errorNo' '$errorMsg;  
  13. }  
  14. else {  
  15.     $header  = "GET {$path}{$queryString} HTTP/1.1\r\n";  
  16.     $header .= "Host: {$host}\r\n";  
  17.     //$header .= "User-Agent: {$_SERVER['HTTP_USER_AGENT']}\r\n";  
  18.     $header .= "Authorization: Basic {$authorizationToken}\r\n"//认证  
  19.     $header .= "Content-Type: application/x-www-form-urlencoded\r\n";  
  20.     $header .= "Content-length: " . strlen($queryString) . "\r\n";  
  21.     $header .= "Connection: Close\r\n\r\n";  
  22.           
  23.     fwrite($fp$header);  
  24.     $return = '';  
  25.     while (!feof($fp)) {  
  26.         $return .= fgets($fp, 4096);  
  27.     }  
  28.     fclose($fp);  
  29.     echo $return;  
  30. }  
  31.   
  32. //方法二,使用curl  
  33. $ch = curl_init();  
  34. curl_setopt($ch, CURLOPT_URL, "https://{$host}{$path}{$queryString}");  
  35. curl_setopt($ch, CURLOPT_PORT, 443);   
  36. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);  
  37. curl_setopt($ch, CURLOPT_TIMEOUT, 15);   
  38. curl_setopt($ch, CURLOPT_HEADER, 1);  
  39. curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);  
  40. curl_setopt($ch, CURLOPT_USERPWD, "{$user}:{$pass}");  
  41. curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);  
  42. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);  
  43.   
  44. $return = curl_exec($ch);  
  45. if (!$return) {  
  46.     echo curl_error($ch);  
  47. }  
  48. else {  
  49.     echo $return;  
  50. }  
  51. curl_close($ch);  
  52.   
  53.   http://beiersi.iteye.com/blog/1262590
  评论这张
 
阅读(462)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018