定制 hedii/http-punch 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

hedii/http-punch

Composer 安装命令:

composer require hedii/http-punch

包简介

A php library to punch an http endpoint

README 文档

README

Build Status

http-punch

Http punch is a php library for punching (visiting) an http url.

It can be used to check whether an host is online or offline, to check a server response time, to hit a cron job url, to hit a webhook url, etc...

Table of contents

Installation

Install via composer

composer require hedii/http-punch

Usage

Instantiation

Create a http punch instance:

<?php

// require composer autoloader
require '/path/to/vendor/autoload.php';

// instantiate
$puncher = new Hedii\HttpPunch\HttpPunch();

Alternatively, you can pass a request timeout in second (default 30), and a connection timeout in second (default 10):

// instantiate with request and connection timeout as parameters
$puncher = new Hedii\HttpPunch\HttpPunch(20, 5);

Perform an http punch

Call the punch(string $url, string $method = 'get', array $body = []): array method to perform an http punch.

// instantiate
$puncher = new Hedii\HttpPunch\HttpPunch();

// perform a get request
$result = $puncher->punch('http://example.com');

// perform a post request 
$result = $puncher->punch('http://example.com', 'post');

// perform a post request with a given body as an array
$result = $puncher->punch('http://example.com', 'post', ['foo' => 'bar']);

// set the outgoing ip address (it uses CURLOPT_INTERFACE behind the scenes) and perform a get request
$result = $puncher->setIp('192.160.0.101')->punch('http://example.com');

// set an array of request headers and perform a get request
$result = $puncher->setHeaders(['foo' => 'bar'])->punch('http://example.com');

The result of this method is an array with with the http punch report information. The value of success indicates if the website is has successfully responded to the request:

array(5) {
    'url' => "http://example.com"
    'success' => true
    'status_code' => 200
    'message' => "OK"
    'transfer_time' => 0.765217
}

Notice that the url field contains the effective url (in case of redirect response, this is the final url, the status code will be 200 and the message "OK").

The result array

Field Type Description
url string The effective url
success boolean Whether the http punch is successful or not
status_code null|integer The http response status code or null in case of a client error
message string The http response message or the client error message
transfer_time float The transfer time in seconds

Testing

composer test

License

hedii/http-punch is released under the MIT Licence. See the bundled LICENSE file for details.

统计信息

  • 总下载量: 14
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2017-07-29

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固