Para poder "emular" la validación debes enviar los parámetro por
POST. Los parámetro a pasar por POST son:
bMonth=01&bDay=1&bYear=1970&verifyAge=true&submit=CONTINUE »
Aquí te pongo un trozo del código que realiza la validación y obtiene el HTML de una página (piensa que el código que te muestro esta hecho usando Synapse para Internet...).
Código Delphi
[-] HTTP:=THTTPSend.Create;
try
WriteStrToStream(HTTP.Document, 'bMonth=01&bDay=1&bYear=1970&verifyAge=true&submit=CONTINUE »');
HTTP.MimeType := 'application/x-www-form-urlencoded';
HTTP.HTTPMethod('POST', 'http://www.pornotube.com/media.php?m=1389132');
if HTTP.ResultCode = 200 then
begin
end;
finally
HTTP.Free;
end;
Y aquí el código exacto que uso en el
xVideoServiceThief para obtener la URL del video FLV en PornoTube (añadido hoy, y disponible en la próxima actualización):
Código Delphi
[-]function TVideoDownload_PornoTube.GetVideoInformation(
const URL: String): TVideoDownloadInfo;
const
AGE_VALIDATION = 'bMonth=01&bDay=1&bYear=1970&verifyAge=true&submit=CONTINUE »';
GET_FLV_INFO_URL = 'http://www.pornotube.com/player/player.php?%s';
GET_FLV_URL = 'http://%s.pornotube.com/%s/%s.flv';
var
Html: TStringList;
HTTP: THTTPSend;
VideoID: String;
FlvID: String;
FUserID: String;
FDomain: String;
begin
InitTVideoDownloadInfo(Result);
HTTP:=THTTPSend.Create;
try
WriteStrToStream(HTTP.Document, AGE_VALIDATION);
HTTP.MimeType := 'application/x-www-form-urlencoded';
HTTP.HTTPMethod('POST', URL);
if HTTP.ResultCode = 200 then
begin
Html:=TStringList.Create;
try
Html.LoadFromStream(HTTP.Document);
Result.Title:=CopyBetween(Html.Text, 'PornoTube.com - ', '');
Result.Title:=Copy(Result.Title, 1, Pos(' - Browsing: Videos -', Result.Title) - 1);
VideoID:=CopyBetween(Html.Text, 'player/v.swf?v=', '"');
HTTP.Clear;
HTTP.HTTPMethod('GET', Format(GET_FLV_INFO_URL, [VideoID]));
if HTTP.ResultCode = 200 then
begin
Html.LoadFromStream(HTTP.Document);
FlvID:=CopyBetween(Html.Text, 'mediaId=', '&');
FUserID:=CopyBetween(Html.Text, 'userId=', '&');
FDomain:=CopyBetween(Html.Text, 'mediaDomain=', '&');
Result.VideoURL:=Format(GET_FLV_URL, [FDomain, FUserID, FlvID]);
Result.VideoURL:=URLtoAscii(Result.VideoURL);
end;
finally
Html.Free;
end;
end;
finally
HTTP.Free;
end;
end;
Saludos.