`
beiersi
  • 浏览: 75363 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

php访问带基本认证的页面

    博客分类:
  • php
阅读更多
$host = '192.168.2.1'; //主机
$path = '/status.htm'; //路径
$user = 'admin'; //用户名
$pass = 'admin'; //密码
$queryString = '?a=1&b=2'; //query字串

//方法一,使用fsockopen
$authorizationToken = base64_encode("{$user}:{$pass}"); 
$fp = fsockopen('tcp://' . $host, 80, $errorNo, $errorMsg, 45);
//$fp = fsockopen('ssl://' . $host, 443, $errorNo, $errorMsg, 45); 
if (!$fp) {
    echo 'error: ', $errorNo, ' ', $errorMsg;
}
else {
    $header  = "GET {$path}{$queryString} HTTP/1.1\r\n";
    $header .= "Host: {$host}\r\n";
    //$header .= "User-Agent: {$_SERVER['HTTP_USER_AGENT']}\r\n";
    $header .= "Authorization: Basic {$authorizationToken}\r\n"; //认证
    $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
    $header .= "Content-length: " . strlen($queryString) . "\r\n";
    $header .= "Connection: Close\r\n\r\n";
        
    fwrite($fp, $header);
    $return = '';
    while (!feof($fp)) {
        $return .= fgets($fp, 4096);
    }
    fclose($fp);
    echo $return;
}

//方法二,使用curl
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://{$host}{$path}{$queryString}");
curl_setopt($ch, CURLOPT_PORT, 443); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_TIMEOUT, 15); 
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_USERPWD, "{$user}:{$pass}");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);

$return = curl_exec($ch);
if (!$return) {
    echo curl_error($ch);
}
else {
    echo $return;
}
curl_close($ch);



 
分享到:
评论

相关推荐

    新浪和腾讯微博Oauth认证Demo(php版)

    4.新增网站除了实现以上3个接口外,还需要修改base.class.php中的成员变量$sites,这个变量不仅用于页面显示,还在程序中检查客户端发送过来的网站是否已经实现OAuth; 5.实例中2个网站(新浪微博和腾讯微博)的OAuth...

    WIFI第三方认证系统第一版

    云端以PHP加MYSQL非常成熟的技术开发,开发完成各基础的功能, 用户可根据自身的运营需求,简单修改PHP页面或程序来实现不同的运营需求。 基于OPENWRT固件或DD-WRT固件等路由器开源系统,适合于对自身运营数据的控制...

    PHP限制页面只能在微信自带浏览器访问的代码

    下面是PHP限制页面只能在微信自带浏览器访问的代码。 复制代码 代码如下: <!–?php $useragent = $_SERVER[‘HTTP_USER_AGENT’]; if (strpos($useragent, ‘MicroMessenger’) === false) { echo ” 非微信...

    全网最易部署,响应速度最快的ChatGPT环境 PHP版调用OpenAI接口进行问答和画图,采用Stream流模式通信

    可以实现区分内外网IP,内网直接访问,外网通过BASIC认证后可访问。 可以实现页面输入自定义API_KEY使用,方便分享给网友或朋友使用。 服务器自动记录所有访问者的对话日志和IP地址,方便管理员查询。 支持API_KEY...

    通过PHP自助修改SVN密码和添加修改SVN用户

    /td> 但记得限制该登录页面,可以在apache下添加访问该页面的认证代码; 3、请自行修改124和125行的$passwdfile的密码文件目录和$command的htpasswd.exe路径,自行搭建PHP环境,放在PHP目录下直接访问,无需数据库...

    php网络开发完全手册

    17.3.5 注销页面的编写 288 17.3.6 代码的运行 289 17.3.7 代码的改进 289 17.4 PHP中Cookie的实现 290 17.4.1 Cookie语法格式 290 17.4.2 Cookie预定义数组 290 17.4.3 创建一个Cookie 291 17.4.4 创建一个有时间...

    微信公众号接口在线调试工具PHP版.rar

     2、本工具仿方倍工作室出品的同类工具,页面bootstrap自适应适合手机平板等各平台访问 ,PHP代码为功能仿照。  3、受权限限制(全是个人未认证订阅号),暂未开发底部自定义菜单、关注者接口、二维码扫描事件等...

    微信OAuth2.0网页授权接口PHP版用法示例.rar

     对于同一用户在受权过期时间内多次打开此控制器的页面,将不会进行多次受权,因为其受权信息记录在session中,以免重复受权,减慢访问速度。受权过期时间在```index/Conf/config.php```中```wx_webauth_expire```...

    php开发Chatgpt源码.rar

    可以实现区分内外网IP,内网直接访问,外网通过BASIC认证后可访问。 可以实现页面输入自定义API_KEY使用,方便分享给网友或朋友使用。 服务器自动记录所有访问者的对话日志和IP地址,方便管理员查询。 支持API_...

    PHP微信公众号接口开发在线调试工具 v2.0

    2、本工具仿方倍工作室出品的同类工具,页面bootstrap自适应适合手机平板等各平台访问 ,PHP代码为功能仿照。3、受权限限制(全是个人未认证订阅号),暂未开发底部自定义菜单、关注者接口、二维码扫描事件等其他...

    PHP微信公众号接口开发在线调试工具 v2.0.zip

    2、本工具仿方倍工作室出品的同类工具,页面bootstrap自适应适合手机平板等各平台访问 ,PHP代码为功能仿照。 3、受权限限制(全是个人未认证订阅号),暂未开发底部自定义菜单、关注者接口、二维码扫描事件等其他...

    关于CDN的一些基本知识

    如html、htm、php等页面文件,gif、tif、 png、bmp等图片文件,以及其他格式的文件,在有效期(TTL)内,对于重复的访问,不必从原始网站重新传送文件实体,只需通过简单的认证(FreshnessValidation)-传送几十字节...

    爱特PHP文件管理器 v1.7 开源版.rar

    安装说明: 首次使用访问文件管理器自动提示安装(创建管理号),如果直接出现登录页面请删除userinfo.php文件后访问文件管理安装。 功能介绍: *文件详情查看 *文件批量上传 *选中文件压缩 *各种代码高亮 *...

    csrf漏洞例子(html、css、JavaScript、php)

    1、登录获取身份认证(这里用到session) 2、登录后点击跳转进入有漏洞的网站(这里模拟的是黑客发给受害者的地址) 3、点击跳转后是一个图片 注解:其中src的地址money.php是网站的转账接口 其中name是转给谁,...

    爱特PHP文件管理器 v1.8.1.zip

    首次使用访问文件管理器自动提示安装(创建管理号),如果直接出现登录页面请删除userinfo.php文件后访问文件管理安装。 功能介绍: *文件详情查看 *文件批量上传 *选中文件压缩 *各种代码高亮 *文本分页...

    微信OAuth2.0网页授权接口

    对于同一用户在受权过期时间内多次打开此控制器的页面,将不会进行多次受权,因为其受权信息记录在session中,以免重复受权,减慢访问速度。受权过期时间在index/Conf/config.php中wx_webauth_expire设置,建议不要...

    php以fastCGI的方式运行时文件系统权限问题及解决方法

    打开本地的网站,访问php页面, 出现了500错误。 好吧,是权限问题,最简单的解决办法是把C:\Users\Administrator\PhpstormProjects\phpDemo的权限设成Everyone, 并允许完全控制: 重新访问php页面,成功了: 上面...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    看看这个页面你就知道你的PHP安装使用的选项了。 2.3 语法 就像前面提到的一样,你可以混合编写你的PHP代码和HTML代码。因此你必须有办法将两者区别开来。以下就是你可以采用的几种方法。你可以选用其中一种你最...

Global site tag (gtag.js) - Google Analytics