プロジェクトでRapidShareAPIを使用したいのですが、どのように呼び出して結果を受け取ることができるかわかりません。
私はDelphi2009を使用しています。
プロジェクトでRapidShareAPIを使用したいのですが、どのように呼び出して結果を受け取ることができるかわかりません。
私はDelphi2009を使用しています。
HTTP リクエストを送信して結果を取得するだけです。
このリンクを試して、それがどのように機能するかを確認してください: getapicpu_v1
ここで、どの呼び出しを行うことができるかを確認できます: http://images.rapidshare.com/apidoc.txt
以下のコードはこれを出力します:
getapicpu_v1: 0,60000
nextuploadserver_v1: 669
FetchHTML() は、HTTP 要求の結果を取得するための単なるヘルパー関数です。プロキシを使用する場合、Internet Explorer で構成したプロキシが自動的に使用されます。
program RapidShareTest;
{$APPTYPE CONSOLE}
uses
SysUtils, WinInet;
function FetchHTML(url:string):AnsiString;
var
databuffer : array[0..4095] of AnsiChar;
ResStr : AnsiString;
hSession, hfile: hInternet;
dwindex,dwcodelen,dwread,dwNumber:cardinal;
dwcode : array[1..20] of char;
res : pAnsiChar;
Str : pAnsiChar;
begin
ResStr := '';
if pos('http://',lowercase(url))=0 then
url := 'http://'+url;
hSession := InternetOpen('InetURL:/1.0', INTERNET_OPEN_TYPE_PRECONFIG,nil, nil, 0);
try
if assigned(hsession) then
begin
hfile := InternetOpenUrl(hsession,pchar(url),nil,0,INTERNET_FLAG_RELOAD, 0);
dwIndex := 0;
dwCodeLen := 10;
HttpQueryInfo(hfile, HTTP_QUERY_STATUS_CODE,@dwcode, dwcodeLen, dwIndex);
res := pAnsiChar(@dwcode);
dwNumber := sizeof(databuffer)-1;
while (InternetReadfile(hfile,@databuffer,dwNumber,DwRead)) do
begin
if dwRead =0 then
break;
databuffer[dwread]:=#0;
Str := pAnsiChar(@databuffer);
resStr := resStr + Str;
end;
if assigned(hfile) then
InternetCloseHandle(hfile);
end;
finally
InternetCloseHandle(hsession);
end;
Result := resStr;
end;
begin
Writeln('getapicpu_v1: ');
WriteLn(FetchHTML('http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=getapicpu_v1'));
WriteLn;
Writeln('nextuploadserver_v1: ');
WriteLn(FetchHTML('http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=nextuploadserver_v1'));
WriteLn;
ReadLn;
end.