有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?+ ~# {3 U9 G) U/ m& }& U' c9 [. X
& m @5 F: c8 m
<?php $subid=$_POST["subid"]; ?>
1 Q% k9 Z* s2 M/ b2 L<?php
, X3 W7 k6 N. d4 Pfunction send_post($url, $post_data) { ) P" q- }9 t; _; W
% Z' R! z% T' W( |2 B
$postdata = http_build_query($post_data);
# q! Y4 ~! p" O, Q: I- Q. R $options = array( / q5 a4 U1 S% N/ z7 ?* h9 g
'http' => array(
7 @: ~( p- k* Q& W0 { 'method' => 'POST',
1 o! t' T% p; X- V 'header' => 'Content-type:application/x-www-form-urlencoded',
" u L, p* r8 D" x6 f4 \ 'content' => $postdata,
0 U7 J% `7 ^/ |! u5 R, p6 l 'timeout' => 15 * 60 // 超时时间(单位:s)
4 O9 ~' C3 D' e+ S ) 1 D/ Z" M$ n% s, W% a2 b
); A# E$ B$ y6 H
$context = stream_context_create($options); * |) F. u& b( [' a
$result = file_get_contents($url, false, $context); ; x$ k$ ]) U2 v3 N" R, V# a
. p8 g, w/ m9 `' `; `) i
return $result; 7 h/ ^. s- w9 ^$ A
} 9 a/ l! j5 f2 M- U# J
& O @! ]4 A6 y F* v
//使用方法 8 ?- A/ V, L2 t, K
$post_data = array( 0 H9 P. p; F" h0 B5 r8 J" {- S
'subid' => $subid
, m: P" [7 Z8 p8 x+ n0 |);
& E4 n- T# x+ K8 Rsend_post('http://1.com/track.php', $post_data);
. B' N, B: e( j0 ssend_post('http://2.com/track.php', $post_data); ) a o$ e5 `5 V' K
send_post('http://3.com/track.php', $post_data); * ^$ l9 ~8 T" A1 N
send_post('http://4.com/track.php', $post_data); $ u3 U! o% P6 l8 t8 _( L
?>
2 i" R7 S' d0 A/ i9 v: r% }( t3 t, k
比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈% g+ ~0 }2 C/ F- f, @+ z. k
( ?8 r. V' h: X3 g% W
|