将socks代理转换成http代理

来源:互联网 发布:js中format函数 编辑:程序博客网 时间:2024/05/17 02:43

今天遇到一个很蛋疼的需求,我有一个在国外的服务器,通过ssh -D可以在本地生成一个socks5代理,但是我要访问一个国外的bt网站,它的tracker连接都只能用代理,而且它只能使用http代理,因此我需要用socks代理来生成一个http代理,怎么搞呢?在网上找了一圈,查看squid等是否有相应的功能,结果发现都不是很靠谱。最后想来想去觉得我只要有php有curl有nginx就完全能自己搞定这一切,何苦要求别人呢?


事实上http代理,也是一个http请求,它有HTTP_HOST的头,告诉我们这个请求应该实际发给谁,因此写个页面,拿到代理请求之后,通过curl将请求以socks代理发出去,再把结果返回就可以了呀。最终发现浪费了一早上在google上查找各种解决方案的蛋疼问题,加上编译php和nginx也只用了不到1个小时的时间最终解决。


结论:其实一开始思路就错了,总以为应试弄一个代理服务器,而没有想过做一个反向代理。可见分析问题解决问题的能力还有待加强呀。


原创粉丝点击