私が欠けているかを把握することはできません。 Firefoxのリクエストヘッダーを模倣しようとしましたが、動作しません。 また、フレームページは、javascript ajaxリクエストを使用して終了ページに到達します。 $post_to_link
(下のコードを参照)にデータを投稿し、(私のcurrent result
ではなく)に移動し、megauploadリンクが配置されます。PHP:curlまたはfile_get_contentsを使用して正しいAjax応答を取得できません。
予想される出力:/membersonly/components/com_iceplayer/GMorBMlet.php?url=http%3A%2F%2Fwww.megaupload.com%2F%3Fd%3DVNICBFWL&
電流出力:
- ここでのfile_get_contents出力3つの
- カール出力エラー403アクセス禁止
が私のコードです:
// call it like so...
echo GetHosterLink(1148, 252636, '', '37fn8Oklq', 15, -75);
// $s is incremented every second you are 'visiting' the referer page
// $m decreases below zero when you move your mouse `down` on the start page
function GetHosterLink($id, $link_id, $cap, $sec, $s, $m)
{
$link_page = str_replace('[ID]', $id, 'http://www.icefilms.info/membersonly/components/com_iceplayer/video.php?vid=[ID]');
$post = "id={$link_id}&s={$s}&iqs=&url=&m={$m}&cap=&sec={$sec}&t={$id}";
$header = implode("\r\n", array(
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7",
"Accept-Encoding: gzip, deflate",
"Accept-Language: en-us,en;q=0.5",
"Cache-Control: no-cache",
"Connection: keep-alive",
"Content-Length: " . strlen($post),
"Content-Type: application/x-www-form-urlencoded; charset=UTF-8",
"Host: www.icefilms.info",
"Pragma: no-cache",
"Referer: http://www.icefilms.info/membersonly/components/com_iceplayer/video.php?h=374&w=631&vid={$id}&img=",
"User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0"
));
$opts = array('http' =>
array(
'method' => 'POST',
'header' => implode("\r\n",
array(
'Content-type: application/x-www-form-urlencoded',
'Content-length: ' . strlen($post),
'Referer: ' . $link_page . '&h=374&w=631',
'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0',
'Host: www.icefilms.info'
)
),
'content' => http_build_query(
array(
'id' => $link_id,
's' => $s,
'sec' => $sec,
't' => $id,
'm' => $m,
'iqs' => '',
'url' => '',
'cap' => ''
)
)
)
);
$context = stream_context_create($opts);
$post_to_link = 'http://www.icefilms.info/membersonly/components/com_iceplayer/video.phpAjaxResp.php';
$get_result = file_get_contents($post_to_link, false, $context);
$f_result = cURL::DoRequest($post_to_link, $post, '',
array(array(CURLOPT_HTTPHEADER, $header)));
$f_r = array(
'result' => $f_result,
'get_result' => $get_result,
'get_opts' => $opts,
'get_response' => $http_response_header,
'req_post' => $post,
'req_href' => $post_to_link,
'req_header' => $header
);
return ($f_r);
}
ここ
私curl.php
ファイルです:
class cURL
{
public static function DoRequest($url, $post = '',
$cookie_file = '', $variables = array())
{
$curl = curl_init();
@session_start();
$cookie = ('PHPSESSID=' . session_id() . '; path=/');
@session_write_close();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_COOKIE, $cookie);
if (!empty($cookie_file))
{
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_file);
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_file);
}
if (!empty($post))
{
//curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
}
foreach ($variables as $var)
curl_setopt($curl, $var[0], $var[1]);
$result = curl_exec($curl);
curl_close($curl);
return ($result);
}
}
誰もが援助を必要とします。あなたの問題が何であるかをタイトルにまとめてください。 – random
[tag:gimme-codez]? – Neal
タイトルを変更しました。 –