首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >PHP判断网络连通

PHP判断网络连通

作者头像
老高的技术博客
发布于 2022-12-27 07:20:56
发布于 2022-12-27 07:20:56
3K00
代码可运行
举报
运行总次数:0
代码可运行

PHP代理其实挺麻烦的。。。

仅测试连通性

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$connected = @fsockopen("blog.phpgao.com", 80);
if ($connected){
    $is_conn = true;
    @fclose($connected);
}else{
    $is_conn = false;
}
return $is_conn;

并测试可用性

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//默认三秒超时
@ini_set('default_socket_timeout', 3);
$fp = @fsockopen($proxy_server, $proxy_port, $errno, $errstr, 30);
if (!$fp) {
    BizResult::ensureNotFalse(false, Constants::WEB_ERROR_SRV_UPDATE_PROXY);
} else {
    //$result['reason'] = '已通过测试,代理工作正常。';
    fclose($fp);
}

$url = 'http://blog.phpgao.com/';
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
curl_setopt($ch, CURLOPT_PROXY, $proxy_server);
curl_setopt($ch, CURLOPT_PROXYPORT, $proxy_port);
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxy_user . ':' . $proxy_password);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);

$rtn = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

// if(curl_errno($ch)){
//     echo curl_error($ch);exit();
// }

if (200 !== $httpCode) {
    BizResult::ensureNotFalse(false, Constants::WEB_ERROR_SRV_UPDATE_PROXY);
}
curl_close($ch);
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-12-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
js笔试✏️ [1] URL查询参数
解析此URLhttp://www.domain.com/?user=rose&id=123&id=456&city=%E5%8C%97%E4%BA%AC%E5%B8%82&am
用户4793865
2023/01/12
13.5K0
ajax
PostMan下载地址:https://www.postman.com/downloads/
roydonGuo
2022/11/02
2.4K0
ajax
JSON與ajax使用方法
是存储和交换文本信息的语法。类似 XML。 比 XML 更小、更快,更易解析。 JSON 是一种数据格式。它本身是一串字符串,只是它有固定格式的字符串,符合这个数据格式要求的字符串,我们称之为JSON。 JSON 常用来数据传输,因为它易于程序之前读写操作。 JSON 它其实是来自JavaScript对对象(Object)的定义。但是它作为数据格式来使用的时候,和JavaScript没有任何关系,它只是参照了JavaScript对对象定义的数据格式。 JSON 它可以服务任何语言,C、C++、Java、Objective-C、Python、Go、等,在各个语言中的字典、Map和JSON是类似的结构,所以它们之间可以相互转换。 JSON键值对数据结构如上图,以 “{” 开始,以 “}” 结束。中间包裹的为Key : Value的数据结构。
用户9857551
2022/06/28
9750
字符串与JSON
一、代码习题 1.使用数组拼接出如下字符串 ,其中styles数组里的个数不定 var prod = { name: '女装', styles: ['短款', '冬季', '春装'] }; function getTpl(data){ //todo... }; var result = getTplStr(prod); //result为下面的字符串 <dl class="product"> <dt>女装</dt> <dd>短款</dd> <dd>冬季</dd>
小胖
2018/06/27
3.3K0
写给新手前端的各种文件上传攻略,从小图片到大文件断点续传
今年国庆假期终于可以憋在家里了不用出门了,不用出去看后脑了,真的是一种享受。这么好的光阴怎么浪费,睡觉、吃饭、打豆豆这怎么可能(耍多了也烦),完全不符合我们程序员的作风,赶紧起来把文章写完。
coder_koala
2019/11/04
3.3K0
写给新手前端的各种文件上传攻略,从小图片到大文件断点续传
前端一面必会手写面试题(边面边更)4
函数柯里化概念: 柯里化(Currying)是把接受多个参数的函数转变为接受一个单一参数的函数,并且返回接受余下的参数且返回结果的新函数的技术。
helloworld1024
2023/01/06
3470
Ajax
什么是Ajax? Ajax是一种可以与服务器交换数据并更新部分页面内容,同时可以在不让整个网页重新加载的情况下更新网页的一种技术 Ajax请求过程: 1:创建一个异步对象 var xmlHttp = new XMLHttpRequest(); 2:设置请求方式和请求地址 /* 参数顺序,描述 (1)method:请求的类型;GET 或 POST (2)url:文件在服务器上的位置 (3)async:true(异步)或 false(同步) (一般为true,因ajax的精髓就是
jinghong
2020/05/09
6.2K0
腾讯前端高频手写面试题
函数柯里化概念: 柯里化(Currying)是把接受多个参数的函数转变为接受一个单一参数的函数,并且返回接受余下的参数且返回结果的新函数的技术。
helloworld1024
2022/11/15
6220
JS 字符串截取
1、charAt() charAt() 方法可返回指定位置的字符。 <script type="text/javascript"> var str="Hello world!"; document.write(str.charAt(1); </script> 2、获取字符串中所有数字。 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </he
White feathe
2021/12/08
15.5K0
滴滴前端一面经典手写面试题
一般来说,Promise.all 用来处理多个并发请求,也是为了页面数据构造的方便,将一个页面所用到的在不同接口的数据一起请求过来,不过,如果其中一个接口失败了,多个请求也就失败了,页面可能啥也出不来,这就看当前页面的耦合程度了
helloworld1024
2023/01/04
9790
JavaScript 相关的工具代码
当前 toLocaleTimeString 方法只能获取到 12 小时制的时间('上午09:10:01' | '下午08:10:24')
Krry
2019/05/06
9130
Restful 表述性状态传递
REStful全称为表述性状态转移。任何事物只要有被引用的必要都为资源。资源可以为实体,可以为抽象的概念。
mySoul
2018/07/30
1.4K0
javascript基础重点
1.在javascript中使用 == 比较,会自动转换数据类型再比较,有时候会 得到非常诡异的结果;一般情况下使用 === 比较,它不会自动转换数据类型,如果数据类型不一致,返回false,如果一致,再比较
lin_zone
2018/08/15
1K0
ES6中的Promise和Fetch
JavaScript是单线程执行的,因此,为了避免操作时的页面中断(体现为页面假死),可以使用回调函数。但是如果回调函数中仍然嵌套有回调函数,代码就会变得越来越不可维护。这篇文章介绍ES6如何通过Promise解决这个问题,并介绍了相关的Fetch方法。
张子阳
2018/09/30
1.6K0
详解 | 小程序页面间如何进行传递数据
工作中我们经常会遇到B页面需要A页面内的部分或全部数据;C页面内的一个函数执行完之后需要改变B页面内的显示样式;也或者是A和B两个页面用到了同样的网络数据,在其中一个页面做出修改后另一个页面也要随之改变以保证回传服务器时数据的准确性,等等诸如此类的页面间数据传递的问题。
极乐君
2020/11/30
12K0
js高频手写题总结
经典面试题:实现add(1)(2)(3)(4)=10; 、 add(1)(1,2,3)(2)=9;
helloworld1024
2022/09/24
9630
js手写面试题总结
使用时间戳的节流函数会在第一次触发事件时立即执行,以后每过 wait 秒之后才执行一次,并且最后一次触发事件不会被执行
helloworld1024
2022/12/16
6690
JavaScript常用的工具函数,不全面大家补充哦
JavaScript ( JS ) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web 页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中等等。
苏州程序大白
2021/12/15
3740
JavaScript常用的工具函数,不全面大家补充哦
node http请求 🎴
对于前端来说,网络请求主要就是用 ajax 的方式去处理。所以本文也会站在前端角度简单讲解 Node 中如何使用 http 模块。\n\n 前后端对接时,现在常用的请求方法有 GET、POST、PUT、PATCH、DELETE。当然,还有其他方法,但本文主要面向新手,希望能做到快速起步。所以本文只讲 GET 和 POST 这两种最最最常用的方法。\n\n 在敲代码前,你首先需要准备一个 编辑器(我用vs code)、浏览器、postman 还有安装好 Node.js 。\n\n 创建服务\n\nNode.js 提供了 http 模块,可用于网络请求。\n\n 创建一个 js 文件,输入以下代码。(本例的文件命名为 index.js)\n\njs\nconst http = require(&#39;http&#39;)\n\nconst server = http.createServer((res, req) => {\n req.end(&#39;hello world&#39;)\n})\n\nserver.listen(8000, () => {\n console.log(&#39;http://localhost:8000&#39;)\n})\n解释:- Node.js 使用 commonjs 语法,所以引入 http 模块使用了 require 的方法。\n- http 模块有一个 createServer 方法,该方法的参数是一个函数,函数里又有2个参数,res 是前端发送请求带过来的信息;req 是后端返回信息给前端时的一些方法和属性的集合。\n- 通过 req.end 方法,可以返回一段字符串给前端。\n- 通过 listen 方法可以设置需要监听的端口号,第二个参数是一个函数,我在控制台里输出 http://localhost:8000 是方便启动服务后方便自己打开这个地址。\n\n 使用 Node.js 运行上面的代码:\n\n\nnode index.js\n\n\n运行完上面的命令,控制台应该会输出 http://localhost:8000 ,此时打开浏览器,输入 http://localhost:8000 后页面上会出现 “hello world”,证明服务创建成功,并且可以访问了。\n\n\n
德育处主任
2022/08/30
1.1K0
node http请求 🎴
javascript常用工具类的封装
一、js数组工具类 工具类方法 MyArrayFn包含的方法如下 判断一个元素是否在数组中 遍历元素:相当于原生forEach方法 遍历元素,对里面的每个值做处理再返回一个新的值:相当于原生map方法 数组排序:从小到大、从大到小、随机 去重 求两个集合的并集 求两个集合的交集 删除其中一个元素 最大值 最小值 求和 平均值 工具类代码 // js数组工具类 class MyArrayFn { /*判断一个元素是否在数组中*/ contains(arr, val) { re
不愿意做鱼的小鲸鱼
2022/09/26
1.7K0
javascript常用工具类的封装
相关推荐
js笔试✏️ [1] URL查询参数
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档