ares333 / php-curl Goto Github PK
View Code? Open in Web Editor NEWphp curl library
License: Apache License 2.0
php curl library
License: Apache License 2.0
$value = $args['url'];
$http_code = $r['info']['http_code'];
if($http_code !== 200){//判断能否请求
return $this->code('70001',['error_link'=>$value,'data'=>$value]);
}
php环境:7.1
Warning: file_get_contents(): Filename cannot be empty in /xxx/php-curlmulti-master/src/Core.php on line 462
Warning: fopen(/xxx/php-curlmulti-master/demo/base/static/xxx/indoors/../uploads/allimg/161208/1-16120Q61432.jpg): failed to open stream: Too many open files in /xxx/php-curlmulti-master/src/AutoClone.php on line 224
Fatal error: url is invalid, url=/Public/css/new_file.css in /xxx/php-curlmulti-master/src/Base.php on line 315
这个地址在浏览器中加上域名是可以访问到。
设置
$curl->onInfo = array(
$toolkit,
'onInfo'
);
后报错。
开始下载...
E_WARNING: ErrorException: call_user_func() expects parameter 1 to be a valid callback, first array member is not a valid class name or object in D:\WWW\1spider\mcurl\vendor\ares333\php-curl\src\Curl.php:415 Stack trace: #0 [internal function]: ErrorHandler::{closure}(2, 'call_user_func(...', 'D:\WWW\1spider\...', 415, Array) #1 D:\WWW\1spider\mcurl\vendor\ares333\php-curl\src\Curl.php(415): call_user_func(Array, Array, Object(Ares333\Curl\Curl)) #2 D:\WWW\1spider\mcurl\vendor\ares333\php-curl\src\Curl.php(288): Ares333\Curl\Curl->onInfo() #3 D:\WWW\1spider\shokdown.php(46): Ares333\Curl\Curl->start() #4 {main}
程序能正常执行,但会不停报上面的错误。信息也不能显示。
The args parameter is set, but it is not received by the backend.
This is the code:
Ares333\Curl\Curl;
$curl = new Curl();
$curl->add(
array(
'opt' => array(
CURLOPT_URL => 'http://127.0.0.1:8080/cs/request.php',
CURLOPT_RETURNTRANSFER => true
),
'args' => array(
"word"=>"你好"
)
),
function ($r, $args) {
echo "Request success for " . $r['info']['url'] . "
";
echo "
Header info:
";
print_r($r['info']);
echo "
Raw header:
";
print_r($r['header']);
echo "
Args:
";
print_r($args);
echo "
Body size:
";
echo strlen($r['body']) . ' bytes';
echo "
";
echo "
Body:
";
echo "
".htmlspecialchars($r['body'])."";
This is the return:
GET:Array
(
)
if (true == $config ['enable']) {
$expire = $config ['expire'];
} else {
$expire = $config ['expire'];
}
首先感谢 Ares 的 CurlMulti🙏🏻🙏🏻
问题:在采集中遇到了403,于是想在程序中 sleep,但是不知道应该写在哪??还有最大连接数是不是也要设置小一点??
if ($i < $j) {
$curl->add(array(
'url' => "xxx",
'args' => array (
'i' => $i,
),
), 'getSinglePage');
$i ++;
sleep(1);
if ($i == $j) {
$curl->cbTask = null;
}
}
网站如下: http://www.jujiaobaby.com
PHP版本:7.2
OSX 版本:10.13.1
部分错误日志:
E_WARNING: ErrorException: file_put_contents(/Users/luoei/Downloads/php-curl-master-1/demo/output/clone/http_www.jujiaobaby.com/index.php?s=%2FHome%2Fwz%2Fxiang%2Fid%2F9.html): failed to open stream: Too many open files in /Users/luoei/Downloads/php-curl-master-1/src/HttpClone.php:306
Stack trace:
#0 [internal function]: ErrorHandler::{closure}(2, 'file_put_conten...', '/Users/luoei/Do...', 306, Array)
#1 /Users/luoei/Downloads/php-curl-master-1/src/HttpClone.php(306): file_put_contents('/Users/luoei/Do...', 'onProcess(Array, Array)
#3 [internal function]: HttpCloneDemo->onProcess(Array, Array)
#4 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(492): call_user_func(Array, Array, Array)
#5 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(331): Ares333\Curl\Curl->onProcess(Array, Array)
#6 /Users/luoei/Downloads/php-curl-master-1/src/HttpClone.php(124): Ares333\Curl\Curl->start()
#7 /Users/luoei/Downloads/php-curl-master-1/demo/www.jujiaobaby.com.php(75): Ares333\Curl\HttpClone->start()
#8 {main}
E_WARNING: ErrorException: file_put_contents(/Users/luoei/Downloads/php-curl-master-1/demo/output/cache/a19/2f3/70d843e37b8152072481cbc4e3): failed to open stream: Too many open files in /Users/luoei/Downloads/php-curl-master-1/src/Curl.php:562
Stack trace:
#0 [internal function]: ErrorHandler::{closure}(2, 'file_put_conten...', '/Users/luoei/Do...', 562, Array)
#1 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(562): file_put_contents('/Users/luoei/Do...', 'x\x9C\xED]}s\xD3V\xD6\xFF\ef\xF8\x0Ew...', 2)
#2 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(499): Ares333\Curl\Curl->cache(Array, Array)
#3 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(331): Ares333\Curl\Curl->onProcess(Array, Array)
#4 /Users/luoei/Downloads/php-curl-master-1/src/HttpClone.php(124): Ares333\Curl\Curl->start()
#5 /Users/luoei/Downloads/php-curl-master-1/demo/www.jujiaobaby.com.php(75): Ares333\Curl\HttpClone->start()
#6 {main}
E_WARNING: ErrorException: file_put_contents(/Users/luoei/Downloads/php-curl-master-1/demo/output/cache/a19/2f3/70d843e37b8152072481cbc4e3): failed to open stream: Too many open files in /Users/luoei/Downloads/php-curl-master-1/src/Curl.php:562
Stack trace:
#0 [internal function]: ErrorHandler::{closure}(2, 'file_put_conten...', '/Users/luoei/Do...', 562, Array)
#1 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(562): file_put_contents('/Users/luoei/Do...', 'x\x9C\xED]}s\xD3V\xD6\xFF\ef\xF8\x0Ew...', 2)
#2 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(499): Ares333\Curl\Curl->cache(Array, Array)
#3 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(331): Ares333\Curl\Curl->onProcess(Array, Array)
#4 /Users/luoei/Downloads/php-curl-master-1/src/HttpClone.php(124): Ares333\Curl\Curl->start()
#5 /Users/luoei/Downloads/php-curl-master-1/demo/www.jujiaobaby.com.php(75): Ares333\Curl\HttpClone->start()
#6 {main}
E_WARNING: ErrorException: file_put_contents(/Users/luoei/Downloads/php-curl-master-1/demo/output/clone/http_www.jujiaobaby.com/index.php?s=%2FHome%2Fwz%2Fxiang%2Fid%2F8.html): failed to open stream: Too many open files in /Users/luoei/Downloads/php-curl-master-1/src/HttpClone.php:306
Stack trace:
#0 [internal function]: ErrorHandler::{closure}(2, 'file_put_conten...', '/Users/luoei/Do...', 306, Array)
#1 /Users/luoei/Downloads/php-curl-master-1/src/HttpClone.php(306): file_put_contents('/Users/luoei/Do...', 'onProcess(Array, Array)
#3 [internal function]: HttpCloneDemo->onProcess(Array, Array)
#4 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(492): call_user_func(Array, Array, Array)
#5 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(331): Ares333\Curl\Curl->onProcess(Array, Array)
#6 /Users/luoei/Downloads/php-curl-master-1/src/HttpClone.php(124): Ares333\Curl\Curl->start()
#7 /Users/luoei/Downloads/php-curl-master-1/demo/www.jujiaobaby.com.php(75): Ares333\Curl\HttpClone->start()
#8 {main}
E_WARNING: ErrorException: file_put_contents(/Users/luoei/Downloads/php-curl-master-1/demo/output/clone/http_www.jujiaobaby.com/index.php?s=%2FHome%2Fwz%2Fxiang%2Fid%2F8.html): failed to open stream: Too many open files in /Users/luoei/Downloads/php-curl-master-1/src/HttpClone.php:306
Stack trace:
#0 [internal function]: ErrorHandler::{closure}(2, 'file_put_conten...', '/Users/luoei/Do...', 306, Array)
#1 /Users/luoei/Downloads/php-curl-master-1/src/HttpClone.php(306): file_put_contents('/Users/luoei/Do...', 'onProcess(Array, Array)
#3 [internal function]: HttpCloneDemo->onProcess(Array, Array)
#4 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(492): call_user_func(Array, Array, Array)
#5 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(331): Ares333\Curl\Curl->onProcess(Array, Array)
#6 /Users/luoei/Downloads/php-curl-master-1/src/HttpClone.php(124): Ares333\Curl\Curl->start()
#7 /Users/luoei/Downloads/php-curl-master-1/demo/www.jujiaobaby.com.php(75): Ares333\Curl\HttpClone->start()
#8 {main}
E_WARNING: ErrorException: file_put_contents(/Users/luoei/Downloads/php-curl-master-1/demo/output/cache/6d9/28c/80a14279cfdbc8cc5276c5f405): failed to open stream: Too many open files in /Users/luoei/Downloads/php-curl-master-1/src/Curl.php:562
Stack trace:
#0 [internal function]: ErrorHandler::{closure}(2, 'file_put_conten...', '/Users/luoei/Do...', 562, Array)
#1 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(562): file_put_contents('/Users/luoei/Do...', 'x\x9C\xED]\xF9S\eG\xF6\xFF\xD9\xAE\xF2\xFF0...', 2)
#2 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(499): Ares333\Curl\Curl->cache(Array, Array)
#3 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(331): Ares333\Curl\Curl->onProcess(Array, Array)
#4 /Users/luoei/Downloads/php-curl-master-1/src/HttpClone.php(124): Ares333\Curl\Curl->start()
#5 /Users/luoei/Downloads/php-curl-master-1/demo/www.jujiaobaby.com.php(75): Ares333\Curl\HttpClone->start()
#6 {main}
E_WARNING: ErrorException: file_put_contents(/Users/luoei/Downloads/php-curl-master-1/demo/output/cache/6d9/28c/80a14279cfdbc8cc5276c5f405): failed to open stream: Too many open files in /Users/luoei/Downloads/php-curl-master-1/src/Curl.php:562
Stack trace:
#0 [internal function]: ErrorHandler::{closure}(2, 'file_put_conten...', '/Users/luoei/Do...', 562, Array)
#1 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(562): file_put_contents('/Users/luoei/Do...', 'x\x9C\xED]\xF9S\eG\xF6\xFF\xD9\xAE\xF2\xFF0...', 2)
#2 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(499): Ares333\Curl\Curl->cache(Array, Array)
#3 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(331): Ares333\Curl\Curl->onProcess(Array, Array)
#4 /Users/luoei/Downloads/php-curl-master-1/src/HttpClone.php(124): Ares333\Curl\Curl->start()
#5 /Users/luoei/Downloads/php-curl-master-1/demo/www.jujiaobaby.com.php(75): Ares333\Curl\HttpClone->start()
#6 {main}
E_WARNING: ErrorException: file_put_contents(/Users/luoei/Downloads/php-curl-master-1/demo/output/clone/http_www.jujiaobaby.com/index.php?s=%2FHome%2FJujiao%2Fabout%2Fid%2F8.html): failed to open stream: Too many open files in /Users/luoei/Downloads/php-curl-master-1/src/HttpClone.php:306
Stack trace:
#0 [internal function]: ErrorHandler::{closure}(2, 'file_put_conten...', '/Users/luoei/Do...', 306, Array)
#1 /Users/luoei/Downloads/php-curl-master-1/src/HttpClone.php(306): file_put_contents('/Users/luoei/Do...', 'onProcess(Array, Array)
#3 [internal function]: HttpCloneDemo->onProcess(Array, Array)
#4 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(492): call_user_func(Array, Array, Array)
#5 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(331): Ares333\Curl\Curl->onProcess(Array, Array)
#6 /Users/luoei/Downloads/php-curl-master-1/src/HttpClone.php(124): Ares333\Curl\Curl->start()
#7 /Users/luoei/Downloads/php-curl-master-1/demo/www.jujiaobaby.com.php(75): Ares333\Curl\HttpClone->start()
#8 {main}
E_WARNING: ErrorException: file_put_contents(/Users/luoei/Downloads/php-curl-master-1/demo/output/clone/http_www.jujiaobaby.com/index.php?s=%2FHome%2FJujiao%2Fabout%2Fid%2F8.html): failed to open stream: Too many open files in /Users/luoei/Downloads/php-curl-master-1/src/HttpClone.php:306
Stack trace:
#0 [internal function]: ErrorHandler::{closure}(2, 'file_put_conten...', '/Users/luoei/Do...', 306, Array)
#1 /Users/luoei/Downloads/php-curl-master-1/src/HttpClone.php(306): file_put_contents('/Users/luoei/Do...', 'onProcess(Array, Array)
#3 [internal function]: HttpCloneDemo->onProcess(Array, Array)
#4 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(492): call_user_func(Array, Array, Array)
#5 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(331): Ares333\Curl\Curl->onProcess(Array, Array)
#6 /Users/luoei/Downloads/php-curl-master-1/src/HttpClone.php(124): Ares333\Curl\Curl->start()
#7 /Users/luoei/Downloads/php-curl-master-1/demo/www.jujiaobaby.com.php(75): Ares333\Curl\HttpClone->start()
#8 {main}
E_WARNING: ErrorException: file_put_contents(/Users/luoei/Downloads/php-curl-master-1/demo/output/cache/199/21e/86909667f5f14b89bf1291a251): failed to open stream: Too many open files in /Users/luoei/Downloads/php-curl-master-1/src/Curl.php:562
Stack trace:
#0 [internal function]: ErrorHandler::{closure}(2, 'file_put_conten...', '/Users/luoei/Do...', 562, Array)
#1 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(562): file_put_contents('/Users/luoei/Do...', 'x\x9C\xBD:ks\xDB\xC6\xB5\x9F\xA5\x19\xFD\x87\r...', 2)
#2 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(499): Ares333\Curl\Curl->cache(Array, Array)
#3 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(331): Ares333\Curl\Curl->onProcess(Array, Array)
#4 /Users/luoei/Downloads/php-curl-master-1/src/HttpClone.php(124): Ares333\Curl\Curl->start()
#5 /Users/luoei/Downloads/php-curl-master-1/demo/www.jujiaobaby.com.php(75): Ares333\Curl\HttpClone->start()
#6 {main}
E_WARNING: ErrorException: file_put_contents(/Users/luoei/Downloads/php-curl-master-1/demo/output/cache/199/21e/86909667f5f14b89bf1291a251): failed to open stream: Too many open files in /Users/luoei/Downloads/php-curl-master-1/src/Curl.php:562
Stack trace:
#0 [internal function]: ErrorHandler::{closure}(2, 'file_put_conten...', '/Users/luoei/Do...', 562, Array)
#1 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(562): file_put_contents('/Users/luoei/Do...', 'x\x9C\xBD:ks\xDB\xC6\xB5\x9F\xA5\x19\xFD\x87\r...', 2)
#2 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(499): Ares333\Curl\Curl->cache(Array, Array)
#3 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(331): Ares333\Curl\Curl->onProcess(Array, Array)
#4 /Users/luoei/Downloads/php-curl-master-1/src/HttpClone.php(124): Ares333\Curl\Curl->start()
#5 /Users/luoei/Downloads/php-curl-master-1/demo/www.jujiaobaby.com.php(75): Ares333\Curl\HttpClone->start()
#6 {main}
E_WARNING: ErrorException: file_put_contents(/Users/luoei/Downloads/php-curl-master-1/demo/output/clone/http_www.jujiaobaby.com/index.php?s=%2FHome%2FZuopin%2Fworks.html): failed to open stream: Too many open files in /Users/luoei/Downloads/php-curl-master-1/src/HttpClone.php:306
Stack trace:
#0 [internal function]: ErrorHandler::{closure}(2, 'file_put_conten...', '/Users/luoei/Do...', 306, Array)
#1 /Users/luoei/Downloads/php-curl-master-1/src/HttpClone.php(306): file_put_contents('/Users/luoei/Do...', 'onProcess(Array, Array)
#3 [internal function]: HttpCloneDemo->onProcess(Array, Array)
#4 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(492): call_user_func(Array, Array, Array)
#5 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(331): Ares333\Curl\Curl->onProcess(Array, Array)
#6 /Users/luoei/Downloads/php-curl-master-1/src/HttpClone.php(124): Ares333\Curl\Curl->start()
#7 /Users/luoei/Downloads/php-curl-master-1/demo/www.jujiaobaby.com.php(75): Ares333\Curl\HttpClone->start()
#8 {main}
E_WARNING: ErrorException: file_put_contents(/Users/luoei/Downloads/php-curl-master-1/demo/output/clone/http_www.jujiaobaby.com/index.php?s=%2FHome%2FZuopin%2Fworks.html): failed to open stream: Too many open files in /Users/luoei/Downloads/php-curl-master-1/src/HttpClone.php:306
Stack trace:
#0 [internal function]: ErrorHandler::{closure}(2, 'file_put_conten...', '/Users/luoei/Do...', 306, Array)
#1 /Users/luoei/Downloads/php-curl-master-1/src/HttpClone.php(306): file_put_contents('/Users/luoei/Do...', 'onProcess(Array, Array)
#3 [internal function]: HttpCloneDemo->onProcess(Array, Array)
#4 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(492): call_user_func(Array, Array, Array)
#5 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(331): Ares333\Curl\Curl->onProcess(Array, Array)
#6 /Users/luoei/Downloads/php-curl-master-1/src/HttpClone.php(124): Ares333\Curl\Curl->start()
#7 /Users/luoei/Downloads/php-curl-master-1/demo/www.jujiaobaby.com.php(75): Ares333\Curl\HttpClone->start()
#8 {main}
E_WARNING: ErrorException: file_put_contents(/Users/luoei/Downloads/php-curl-master-1/demo/output/cache/760/767/6be4aa0b78703abfb6f67785d8): failed to open stream: Too many open files in /Users/luoei/Downloads/php-curl-master-1/src/Curl.php:562
Stack trace:
#0 [internal function]: ErrorHandler::{closure}(2, 'file_put_conten...', '/Users/luoei/Do...', 562, Array)
#1 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(562): file_put_contents('/Users/luoei/Do...', 'x\x9C\xED\}s\xDB\xC6\x99\xFF[\x9A\xD1w\xD8...', 2)
#2 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(499): Ares333\Curl\Curl->cache(Array, Array)
#3 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(331): Ares333\Curl\Curl->onProcess(Array, Array)
#4 /Users/luoei/Downloads/php-curl-master-1/src/HttpClone.php(124): Ares333\Curl\Curl->start()
#5 /Users/luoei/Downloads/php-curl-master-1/demo/www.jujiaobaby.com.php(75): Ares333\Curl\HttpClone->start()
#6 {main}
E_WARNING: ErrorException: file_put_contents(/Users/luoei/Downloads/php-curl-master-1/demo/output/cache/760/767/6be4aa0b78703abfb6f67785d8): failed to open stream: Too many open files in /Users/luoei/Downloads/php-curl-master-1/src/Curl.php:562
Stack trace:
#0 [internal function]: ErrorHandler::{closure}(2, 'file_put_conten...', '/Users/luoei/Do...', 562, Array)
#1 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(562): file_put_contents('/Users/luoei/Do...', 'x\x9C\xED\}s\xDB\xC6\x99\xFF[\x9A\xD1w\xD8...', 2)
#2 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(499): Ares333\Curl\Curl->cache(Array, Array)
#3 /Users/luoei/Downloads/php-curl-master-1/src/Curl.php(331): Ares333\Curl\Curl->onProcess(Array, Array)
#4 /Users/luoei/Downloads/php-curl-master-1/src/HttpClone.php(124): Ares333\Curl\Curl->start()
#5 /Users/luoei/Downloads/php-curl-master-1/demo/www.jujiaobaby.com.php(75): Ares333\Curl\HttpClone->start()
#6 {main}
我用add方法,添加了一个任务,任务开始之后,会把抓取到的内容打印出来,但是执行成功后回调函数返回的数据里面没有抓取到的内容字段。请问我要怎么获得抓取的内容,不需要打印出来?
部分源码:
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<meta charset="UTF-8">
<!--TODO LSY 添加视口显示-->
<meta name="renderer" content="webkit">
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no">
<meta http-equiv="Cache-Control" content="no-transform">
<meta http-equiv="Cache-Control" content="no-siteapp">
<title>三只小熊儿童摄影 - 专业北京儿童摄影机构</title>
<meta name="description" content="三只小熊儿童摄影,是全国知名的专业北京儿童摄影机构。为客户提供儿童摄影团购,儿童摄影作品浏览,预约套系,亲子摄影等服务。">
<link rel="stylesheet" href="template/default/css/main.css">
你好,出现大量的scheme错误,是什么原因?怎么解决
E_NOTICE: ErrorException: Undefined index: scheme in /Users/Arist/Git/php-curl/src/Toolkit.php:302
Stack trace:
function urlFormater($url)
{
if (! $this->isUrl($url)) {
return;
}
$url = trim($url);
$url = str_replace(' ', '+', $url);
$parse = parse_url($url);
strtolower($parse['scheme']);
strtolower($parse['host']);
return $this->buildUrl($parse);
}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.