php的异步http请求类

  使用示例

  如下,在request的时候能够定义请求完成之后的callback函数。

 

  <?php

  $base = event_base_new();

  $uri = "http://www.baidu.com/";

  $config = array(

  'eventbase' => $base

  );

  for($i = 0; $i < 10; $i++) {

  $client = new AsyncHttpClient($uri, $config);

  $client->request(function($result) {

  echo "Result len:";

  echo strlen($result['response']);

  // parse response with Zend_Http_Response

  $response = Zend_Http_Response::fromString($result['response']);

  echo $response->getBody();

  echo "\n";

  });

  }

  event_base_loop($base);

  echo "done\n";

  ?>

 

  目前的实现比较初级,只做了get方法的封装,如果需要http上传或者post,还需要另外实现。另外这个类也需要php的libevent扩展。

时间: 2024-10-03 09:16:17

php的异步http请求类的相关文章

关于委托回调 实现异步http请求

问题描述 比如接口是publicdelegatevoidHttpCallback(objectsender,objectdata);ClassHttpClientRequest{publicstaticvoidRequestA(stringid,objectsender,HttpCallbackcallback){}publicstaticvoidRequestB(stringid,objectsender,HttpCallbackcallback){}publicstaticvoidReque

Android Asynchronous Http Client-Android异步网络请求客户端接口

1.简介Android中网络请求一般使用Apache HTTP Client或者采用HttpURLConnect,但是直接使用这两个类库需要写大量的代码才能完成网络post和get请求,而使用android-async-http这个库可以大大的简化操作,它是基于Apache's HttpClient ,所有的请求都是独立在UI主线程之外,通过回调方法处理请求结果,采用android  Handler message 机制传递信息. 2.特性(1)采用异步http请求,并通过匿名内部类处理回调结果

android-关于Android在一次异步Http请求结果未返回,第二次又发起请求的问题

问题描述 关于Android在一次异步Http请求结果未返回,第二次又发起请求的问题 在一个项目的ListView中,有个查询条件的切换(比如按男女性别条件查出来职工的List).我遇到的情况是在下拉框选择男性查数据,但数据还未返回,我这时切换了下拉框的条件改为女性.但是返回的数据有时候会是男性职工的数据.我用的是http异步请求(xUtils的HttpUtils).不知道这么解决这个问题 解决方案 如何发起web请求,并返回请求的结果? 解决方案二: 可以自定义一个类继续RequestCall

AJAX请求类_AJAX相关

复制代码 代码如下: // AJAX类function AJAXRequest() { var xmlObj = false; var CBfunc,ObjSelf; ObjSelf=this; try { xmlObj=new XMLHttpRequest; } catch(e) {  try { xmlObj=new ActiveXObject("MSXML2.XMLHTTP"); }  catch(e2) {   try { xmlObj=new ActiveXObject(&q

AJAX请求类

复制代码 代码如下: // AJAX类 function AJAXRequest() {  var xmlObj = false;  var CBfunc,ObjSelf;  ObjSelf=this;  try { xmlObj=new XMLHttpRequest; }  catch(e) {   try { xmlObj=new ActiveXObject("MSXML2.XMLHTTP"); }   catch(e2) {    try { xmlObj=new ActiveX

Android最基本的异步网络请求框架

本篇文章我们来一起写一个最基本的Android异步网络请求框架,借此来了解下Android中网络请求的相关知识.由于个人水平有限,文中难免存在疏忽和谬误,希望大家可以指出,谢谢大家. 1. 同步网络请求 以HTTP的GET请求为例,我们来介绍一下Android中一个基本的同步请求框架的实现.直接贴代码: public class HttpUtils { public static byte[] get(String urlString) { HttpURLConnection urlConnec

iOS 异步网络请求 和 把 同步网络请求放在子线程有什么区别?

问题描述 iOS 异步网络请求 和 把 同步网络请求放在子线程有什么区别? iOS 异步网络请求 和 把 同步网络请求放在子线程有什么区别? 解决方案 那就是异步和同步的问题咯,,异步的话是不会等待请求完成能继续执行下面的程序,,而同步会等待请求的完成,在继续执行下面的 解决方案二: 同步放子线程效果跟异步达到的类似.只是一个是API原生支持,一个是你自己代码来实现 解决方案三: 同步放子线程效果跟异步达到的类似.只是一个是API原生支持,一个是你自己代码来实现 解决方案四: 同步放子线程效果跟

php HTTP请求类,支持GET,POST,Multipart/form-data

HttpRequest.class.php <?php /** HttpRequest class, HTTP请求类,支持GET,POST,Multipart/form-data * Date: 2013-09-25 * Author: fdipzone * Ver: 1.0 * * Func: * public setConfig 设置连接参数 * public setFormdata 设置表单数据 * public setFiledata 设置文件数据 * public send 发送数据

C#使用semaphore来管理异步下载请求的方法

  本文实例讲述了C#使用semaphore来管理异步下载请求的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 var semaphor = new Semaphore(50, 50); // We allow at most 50 threads for crawling var resultPins = new List<Pin>(); // Res