有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?# K/ M1 V, o1 c* O0 w: H
" {) k& x) m$ |9 R* U
<?php $subid=$_POST["subid"]; ?># [/ b1 K8 S' P+ ^" H" P x7 s
<?php6 q7 k) \2 _% z& E0 D n
function send_post($url, $post_data) { 1 |) z" C8 c7 |% z
; v1 S. w2 `( O0 {' L3 Z $postdata = http_build_query($post_data);
* f% |* _2 p9 i; B8 b- s $options = array(
6 T. m& n9 P* {0 L3 {6 f 'http' => array( ; o' c, _" Y. `7 h7 r# q$ Y
'method' => 'POST',
- g" g7 n4 }# z/ G" `/ |+ O& X 'header' => 'Content-type:application/x-www-form-urlencoded', , S1 v: w. b1 [) l
'content' => $postdata, 5 I0 a- R8 n, `4 y( D" Y
'timeout' => 15 * 60 // 超时时间(单位:s)
4 @$ i6 W& Y; P% \ ) ; |* Q4 ^1 O% v% s
); " r3 x1 u. k) D# Z1 M
$context = stream_context_create($options);
2 o2 a1 s8 a3 E7 c6 ]( A; \. D1 H: t $result = file_get_contents($url, false, $context); . u3 A( R" I$ ?& O/ t9 Q# F5 d
[1 `4 _! j$ ] V% ]7 { return $result;
% a) m; i% e Y/ r- x. K- [+ C}
( }3 V1 L! ]* U) _3 \+ \+ Y" u4 z5 @; q' r
//使用方法 9 q! u% ^; v/ S; s' {7 A* f R
$post_data = array(
. C7 a$ t4 G9 F1 e- M 'subid' => $subid ' w6 f; z* @, P; o* `
); : u# ^+ Z C: w/ k
send_post('http://1.com/track.php', $post_data);
4 `* m @8 b# P& S7 f6 }send_post('http://2.com/track.php', $post_data);
: |* M/ l' h) Wsend_post('http://3.com/track.php', $post_data);
" s2 e# f# I9 a) G/ p" o3 Zsend_post('http://4.com/track.php', $post_data);
1 d* Z8 z b8 W7 b2 U6 O7 i?>' M b5 a8 F0 e
: h& [/ i4 V% n1 a( S
比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈 h4 _6 ~+ U! s( f+ v4 a
1 ]0 |1 U* b8 X2 m+ k
|