有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?! y" [6 k" d5 Q
4 _ D8 k1 N% i; `1 D+ k5 g<?php $subid=$_POST["subid"]; ?>
- a5 U( ]+ l9 b: J' K8 O<?php
+ L8 I1 R. [+ {function send_post($url, $post_data) {
7 P( g D6 X1 e3 c
3 ?) M C9 O. K0 I3 c, a3 d $postdata = http_build_query($post_data);
- `/ ]( G K E3 H* u $options = array( % d/ l) s+ O8 R& Q, F4 T9 F
'http' => array( 4 C9 _: @% `( z' t; n
'method' => 'POST',
0 B; H# X: y- S 'header' => 'Content-type:application/x-www-form-urlencoded',
" L) G% s; z% b7 V, B5 h% i0 T 'content' => $postdata,
- C: q& a! A3 r$ z5 g 'timeout' => 15 * 60 // 超时时间(单位:s) 7 p+ E( K. {# i/ V8 P& L' U+ l
) # ?6 [- J. c$ w
);
4 f6 \$ N" \; l* s# X5 | $context = stream_context_create($options); - h# A% V# J- w U+ a
$result = file_get_contents($url, false, $context); + V0 i' h$ S! w
( V: u9 }( F/ Y9 k2 w' e return $result;
8 u$ U8 j0 a) L2 ]: C0 M}
- m v$ w0 g. e5 `, o
2 Z' a p: K5 ^' ~//使用方法 3 ^" e5 z6 N; I! b2 _: a: K
$post_data = array(
9 Y% c; k1 f2 y- z# O( Q( O1 C 'subid' => $subid 6 E3 }# ?7 B, e# K6 l
); " N6 w& U; N+ U
send_post('http://1.com/track.php', $post_data);
& r/ H. A( F: M; B1 psend_post('http://2.com/track.php', $post_data); 7 i% G$ t3 i( R
send_post('http://3.com/track.php', $post_data); & i: H: [5 t2 l" S1 R- C
send_post('http://4.com/track.php', $post_data);
# [, f4 ^6 N: I7 ]?>& T5 b1 O9 M( Q; }# D6 l6 d
# x$ o( W1 u) J* R" q+ S
比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈0 Z2 h4 {+ ?; A' U) v9 o0 D
7 [- [9 l$ p/ Y ` |