有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?3 ^: \% Y1 p1 A0 t' z
: N* m! [' |: z( l) }' N* |# N<?php $subid=$_POST["subid"]; ?>5 |5 h/ {' V& w: }% L
<?php9 @2 }0 s8 t \+ q S: T- w, C7 P% `
function send_post($url, $post_data) { : ^. F+ k- E# Q2 o% j& N
( H5 J/ ^/ b/ U+ S" |; ]1 ?
$postdata = http_build_query($post_data);
- b' V5 v1 h; }9 V" S! ` $options = array( * A$ r4 p' N& x3 u* ~) _
'http' => array( r% e J3 ^ S- S
'method' => 'POST', 9 C& Z9 U$ Q3 D7 F
'header' => 'Content-type:application/x-www-form-urlencoded',
0 s4 y' w9 c$ p t" G" |$ p) M 'content' => $postdata,
+ X1 Z. Z. `# Q! m) H" B, o% o 'timeout' => 15 * 60 // 超时时间(单位:s) , o2 W& H) f0 T" X
) 5 B6 L- v8 X2 S9 i3 k
); 1 \; V3 W3 O+ e* S, x& P& O" ~, O9 Y" h
$context = stream_context_create($options); 2 |$ f- F, O1 E' m3 _+ I! l! w
$result = file_get_contents($url, false, $context); * }$ d }/ J4 d0 i: E5 b$ ]* @
9 Y5 `3 ?! J% k$ ]6 [ return $result;
2 I" R; U {6 f, V. d3 L0 F" Y} ) `# X/ l2 C! V
% t9 P* v( i# O3 f6 L+ y! Q+ E8 X
//使用方法
6 Z% R0 A$ {7 g9 m% ~0 a9 E$post_data = array(
5 r7 M# l9 A! N: q& _! |8 g/ a% J 'subid' => $subid
! t' @5 V0 Z+ V0 E( X1 U);
" d. a( l" c+ b$ g, Msend_post('http://1.com/track.php', $post_data); 2 C0 i1 t: V- E) @2 y
send_post('http://2.com/track.php', $post_data);
& R: m# Q/ b$ q& y% ?% Wsend_post('http://3.com/track.php', $post_data); 4 p) r4 c, u8 |1 b3 ]. i
send_post('http://4.com/track.php', $post_data);
- r1 [8 u7 Y- X# B! M' i/ _?>0 r: e. |3 `: ]; B
) D. ]4 b, z. F$ z* U# d3 q
比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈2 ~9 L% G z7 O9 v% B8 Q, g; d
- ]9 G/ s# B7 |' }* N8 y
|