有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?
8 S, C$ N$ g. Z- k$ e% b
# J$ i4 Q. M- p* H<?php $subid=$_POST["subid"]; ?>
6 }8 a7 P$ J3 e% x; K: r<?php
" z7 a% B# w: xfunction send_post($url, $post_data) { # q* b) a1 A: J* G W% F
9 y! T4 F+ S# Q $postdata = http_build_query($post_data); 4 m) Y: l# ?) i8 v0 w* G: @7 U
$options = array( 8 X. F3 e, g3 y) u
'http' => array( 3 S- a- J f3 }& Q
'method' => 'POST',
! H" D% ?8 }0 |- g( J# o 'header' => 'Content-type:application/x-www-form-urlencoded',
, Z+ O, l' J5 D7 s5 t3 |# @ b 'content' => $postdata,
$ ` L2 Q! f' c( B# I- \8 t) M2 ] 'timeout' => 15 * 60 // 超时时间(单位:s) 7 _+ P! {8 \6 ^2 |) h- A& \
) 1 Z; @2 }+ S# s/ _) p2 Z
);
. q1 u7 q" p. j, }# [2 _ $context = stream_context_create($options); - k/ J7 M4 M8 ?- m+ ]" ~
$result = file_get_contents($url, false, $context); . Z! M5 M3 _- P" a
0 Y: T! u% p) @& h( t6 j' t return $result; 3 K3 o+ D2 D# C& _ i
}
+ @' ?6 D. a- G' y8 T( O7 `$ t3 J1 C1 d
//使用方法 ) J4 Q$ B8 [/ M5 A
$post_data = array( 3 m1 j! _! p* _3 R' a
'subid' => $subid
# Z T5 A# _2 \: V. A: n' R);
" O5 B! R* q7 esend_post('http://1.com/track.php', $post_data); - r9 l8 z' v$ f( I! ]
send_post('http://2.com/track.php', $post_data);
; b9 j6 U% o3 `7 K3 |0 wsend_post('http://3.com/track.php', $post_data);
9 h2 w4 |) T* r, J+ A+ @9 A# nsend_post('http://4.com/track.php', $post_data);
N5 e% i6 b4 g* \! y?>! @4 f% ^& M; K6 \9 M7 V2 ?! j
9 N2 z+ h5 h- x# M7 @
比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈& P0 U' M: B* K/ S' b
2 r; s; h. t+ ] |