您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
workerman作爲客戶端系列之http代理搭建
发布时间:2022-01-10 23:27:36编辑:雪饮阅读()
首先呢就是源碼地址
這裏我是直接下載zip壓縮包的。
解壓以後大致結構如
[root@izj6c2jeancylo0ppo4vz5z php-http-proxy-master]# tree
.
├── README.md
├── start.php
├── Workerman
│ ├── Autoloader.php
│ ├── composer.json
│ ├── Connection
│ │ ├── AsyncTcpConnection.php
│ │ ├── ConnectionInterface.php
│ │ ├── TcpConnection.php
│ │ └── UdpConnection.php
│ ├── Events
│ │ ├── EventInterface.php
│ │ ├── Event.php
│ │ ├── Ev.php
│ │ ├── Libevent.php
│ │ └── Select.php
│ ├── Lib
│ │ ├── Constants.php
│ │ └── Timer.php
│ ├── MIT-LICENSE.txt
│ ├── Protocols
│ │ ├── Frame.php
│ │ ├── Http
│ │ │ └── mime.types
│ │ ├── Http.php
│ │ ├── ProtocolInterface.php
│ │ ├── Text.php
│ │ ├── Websocket.php
│ │ └── Ws.php
│ ├── README.md
│ ├── WebServer.php
│ └── Worker.php
├── workerman.log
└── _www_wwwroot_workerman_php-http-proxy-master_start.php.pid
6 directories, 28 files
那麽接下來我們準備一個僅僅在我們自己服務器内部可以訪問的站點。建議是直接用寶塔創建一個,靜態站點都是可以的。
哥這裏創建了www.kasumi.com也沒有解析域名,那麽我們先訪問看看是否真正存在該域名吧。
好家夥還真存在
但是常用寶塔的用戶應該不陌生,寶塔創建的站點后訪問首頁并不是這樣的。
那麽我們增加一條本地解析
[root@izj6c2jeancylo0ppo4vz5z php-http-proxy-master]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 www.kasumi.com
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
此時我們訪問www.kasumi.com如:
[root@izj6c2jeancylo0ppo4vz5z php-http-proxy-master]# elinks http://www.kasumi.com --dump
恭喜, 站点创建成功!
这是默认index.html,本页面由系统自动生成
* 本页面在FTP根目录下的index.html
* 您可以修改、删除或覆盖本页面
* FTP相关信息,请到“面板系统后台 > FTP” 查看
* 更多功能了解,请查看[1]宝塔官网(www.bt.cn)
References
Visible links
這才是寶塔應該有的樣子
那麽此時我們知道該頁面也僅僅只是在我們服務器内部能訪問到。
假如說我想要我手機也能訪問到該界面
那麽上面最開始的那個http代理的源代碼就有用了
啓動該源代碼
[root@izj6c2jeancylo0ppo4vz5z php-http-proxy-master]# php start.php start
Workerman[start.php] start in DEBUG mode
----------------------- WORKERMAN -----------------------------
Workerman version:3.3.2 PHP version:7.0.33
------------------------ WORKERS -------------------------------
user worker listen processes status
root php-http-proxy tcp://0.0.0.0:8080 6 [OK]
----------------------------------------------------------------
Press Ctrl-C to quit. Start success.
此時若你的服務器有放行這個8080的入向端口,則手機端可以在你手機當前網絡連接,這裏以wifi連接為例在代理那裏設置為手動,然後填寫代理服務器地址為咱們的服務器ip地址,端口即為這個放行的端口
完事后咱們的手機也就能上咱們服務器剛才搭建的寶塔站點了。爽不爽。
雖然現在服務端會出現一些報錯
[root@izj6c2jeancylo0ppo4vz5z php-http-proxy-master]# php start.php start
Workerman[start.php] start in DEBUG mode
----------------------- WORKERMAN -----------------------------
Workerman version:3.3.2 PHP version:7.0.33
------------------------ WORKERS -------------------------------
user worker listen processes status
root php-http-proxy tcp://0.0.0.0:8080 6 [OK]
----------------------------------------------------------------
Press Ctrl-C to quit. Start success.
PHP Warning: stream_socket_client(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /www/wwwroot/workerman/php-http -proxy-master/Workerman/Connection/AsyncTcpConnection.php on line 78
Warning: stream_socket_client(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /www/wwwroot/workerman/php-http-prox y-master/Workerman/Connection/AsyncTcpConnection.php on line 78
PHP Warning: stream_socket_client(): unable to connect to tcp://wskfqdakysgra:80 (php_network_getaddresses: getaddrinfo failed: Name or service not known) in /www/wwwroot/workerman/php-http-proxy-master/Workerman/Connection/AsyncTcpConnection.php on line 78
Warning: stream_socket_client(): unable to connect to tcp://wskfqdakysgra:80 (php_network_getaddresses: getaddrinfo failed: Name or service not known) in /www/wwwroot/workerman/php-http-proxy-master/Workerman/Connection/AsyncTcpConnection.php on line 78
关键字词:workerman,客戶端,http,代理