分享"狼用"API一個
API
People that are interested in using our service for automated caching of their newly created .torrent files or caching massive amounts of older files, can do so by using one our APIs.
This page contains some documentation on the APIs but also some example code in different languages. If you have some code for any additional language we do not cover, please give us some working example code over e-mail.
All files will be cached at http://torcache.net/torrent/<infoHash>.torrent
Note: HEX values A-F must be in uppercase in torrent URL's
SOAP API
The SOAP API is probably the most easy to use in a modern scripting/programming language. The WSDL offers one simply function; cacheTorrent(). The function returns the info hash of the torrent on success, or a three digit error code if there was an error.
The SOAP WSDL is located at http://torcache.net/torcache.wsdl.
PHP
Below is example code in PHP to cache "my.torrent". You would need to compile PHP --with-soap.
$client = new SoapClient( 'http://torcache.net/torcache.wsdl' ); $infoHash = $client->cacheTorrent( base64_encode( file_get_contents( 'my.torrent' ) ) );
PERL
Perl code to cache "my.torrent". Requires SOAP::Lite (libsoap-lite-perl in debian)
#!/usr/bin/perl use MIME::Base64 (); use SOAP::Lite (); open( FILE, 'my.torrent' ) or die "$!"; * ) ) { $tor .= MIME::Base64::encode( $buf ); } close( FILE ); $infoHash = SOAP::Lite->service( 'http://torcache.net/torcache.wsdl' )->cacheTorrent( $tor ); print $infoHash;
HTTP POST
If you don't have support for SOAP there is a normal HTTP POST interface. Here we show some example code for that as well.
PHP
Below is example code to cache "my.torrent". This feature requires the pecl_http extension.
$files = array( array( 'name' => 'torrent', // Don't change 'type' => 'application/x-bittorrent', 'file' => 'my.torrent' // Full path for file to upload ) ); $http_resp = http_post_fields( 'http://torcache.net/autoupload.php', array(), $files ); $tmp = explode( "\r\n", $http_resp ); $infoHash = substr( $tmp[count( $tmp ) - 1], 0, 40 ); unset( $tmp, $http_resp, $files );
分享"狼用"API一個的更多相关文章
- 微信JS-SDK“分享信息设置”API及数字签名生成方法(NodeJS版本)
原文:微信JS-SDK"分享信息设置"API及数字签名生成方法(NodeJS版本) 先上测试地址以示成功: 用微信打开下面地址测试 http://game.4gshu.com/de ...
- 【C#】分享基于Win32 API的服务操作类(解决ManagedInstallerClass.InstallHelper不能带参数安装的问题)
注:这里的服务是指Windows 服务. ------------------201508250915更新------------------ 刚刚得知TransactedInstaller类是支持带 ...
- 【分享】DevDocs API Documentation
http://devdocs.io/ 这是一份综合性的在线API列表,很全,方便查找.
- 分享一个开源免费、目前最好的API接口管理平台----eoLinker
一.概况 eoLinker 是目前业内领先.国内最大的在线 API 接口管理平台,提供自动生成 API 文档.API 自动化测试.Mock 测试.团队协作等功能,旨在解决由于前后端分离导致的开发效率低 ...
- 微信WeixinJSBridge API(屏蔽右上角按钮等)
[声明]:我这份纯属于备份,为了自己将来用起来方便: [相关链接]:http://www.2cto.com/weixin/201511/451592.html(好不好用完全看这个文档的作者了) [感谢 ...
- 腾讯云>>云通信>>TLS后台API在mac上JAVA DEMO搭建
1.相关文档地址 2.相关demo代码 代码部分作了修改,使用了commons-io中的IOUtils.toString简化了io操作 public class Demo { public stati ...
- App Store有哪些原因会影响app应用上架呢?(分享)
App Store对于应用上架的审核是非常严格的,很可能一个没有注意到的细节,或者一个你根本没想想到的原因就会导致你的应用上架失败.而排除这些无可避免的错误以外,还有一些导致应用上架失败的原因,非常常 ...
- iOS----友盟分享完善版本
分享 详细集成 注意:1.线上集成文档的示例代码对应的是最新版本的SDK,如果你所用的SDK版本类名或者方法名与此文档不符合,请看随包里面的线下文档或者下载使用最新版本的SDK. 设置友盟appkey ...
- 【转】ASP.NET WEB API系列教程
from: 西瓜小强 http://www.cnblogs.com/risk/category/406988.html ASP.NET Web API教程(六) 安全与身份认证 摘要: 在实际的项目应 ...
随机推荐
- TaskTracker启动过程源码级分析
TaskTracker也是作为一个单独的JVM来运行的,其main函数就是TaskTracker的入口函数,当运行start-all.sh时,脚本就是通过SSH运行该函数来启动TaskTracker的 ...
- 给出一个长度为n的数列,请对于每一个数,输出他右边第一个比他大的数。n<=100000.
RT,一个ppt里看到的题,不过没讲做法.百度上基本搜不到.自己想了个做法,理论上可行,复杂度也是O(nlogn). 首先,做一次RMQ,求区间最大值. 对于任意一个数s[i],可以用logn的时间求 ...
- java日期的运用(DateUtils工具类)
public static void main(String[] args) { Date now = new Date(); SimpleDateFormat sd = new SimpleDate ...
- xcode6中如何添加pch文件
在Xcode6之前,新建一个工程的时候,系统会帮我们自动新建一个以工程名为名字的pch (precompile header)文件,在开发过程中,可以将那些整个工程都广泛使用的头文件包含在该文件下,编 ...
- <转载>DB2常用命令
1.数据库的启动.停止 db2start --启动 db2stop [force] --停止 2.与数据库的连接.断开 db2 CONNECT TO DBName [user UserI ...
- BT3入门之中文语言支持
汉化: 1.更新软件库:apt-get update 2.安装中文语言包:apt-get install language-support-zh apt-get install language- ...
- hql语句理解2
/* * this.getSession().createQuery("sdfdf").executeUpdate();这里面的query可以是delete,update,inse ...
- Dom操作html详细
<p name='pn'>xxx</p> <p name='pn'>xxx</p> <p name='pn'>xxx</p> & ...
- jquery的is用法
JQuery 中 is(':visible') 解析及用法 javascript代码$(document).ready(function() { $('#faq').find('d ...
- IOS 实现自定义的导航栏背景以及自定义颜色的状态栏(支持7.0以及低版本)
为尊重文章原作者,转载务必注明原文地址:http://www.cnblogs.com/wt616/p/3784717.html 先看效果图: 在自定义导航栏背景时,可能会遇到以下一些问题: 1.当设置 ...