有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?8 ^! x/ _; R! t. W3 P" d4 B; J
, \. h6 ^ F; E; P1 u8 |2 _
<?php $subid=$_POST["subid"]; ?>
8 Y# r+ j8 C; Q<?php
6 l. Y% m, s) ?function send_post($url, $post_data) { 3 @' c3 A" w! w- Y
, T0 t1 D' {5 y
$postdata = http_build_query($post_data); % I. H l4 ]$ [* s; x, Z
$options = array( / @ ]8 G, F! S* e- T3 a5 j
'http' => array(
* y4 y% M0 `1 D 'method' => 'POST', - O/ @6 }, Q- |, d0 r) _. e
'header' => 'Content-type:application/x-www-form-urlencoded',
: g3 C- u* z- s" f- Y 'content' => $postdata, 9 s3 W# y6 A, l' X4 {" o+ ~
'timeout' => 15 * 60 // 超时时间(单位:s)
9 l% J# M* u/ ~ )
$ w7 k% z- v }( ] );
5 } r& o1 u- u8 X* i $context = stream_context_create($options);
2 e5 r- c. P1 W/ G: N" f7 x% T $result = file_get_contents($url, false, $context);
, r* m, D( T9 k) H3 w" c3 }& q2 S6 e1 d& B. `5 Q W
return $result; ' Z4 z6 K) U& d/ j6 [
} % e2 ~8 O t% y6 V x8 Q) c
$ j' u- C+ {9 r9 s+ V//使用方法 4 w) i7 f3 a- x8 y
$post_data = array(
1 I, L! m; o4 F! S ]4 H5 ` 'subid' => $subid ' T# `% Z) o, z3 C
); 1 g, {! y' G( {2 G9 ?
send_post('http://1.com/track.php', $post_data); 2 Y- e# ^; J1 _ _: \
send_post('http://2.com/track.php', $post_data); ) q0 W6 X' Q ~
send_post('http://3.com/track.php', $post_data); ' U( t2 O& Z/ O; l8 J, h
send_post('http://4.com/track.php', $post_data);
, }" o4 C; v5 [?>
( Y2 V' u/ @ K- z
0 Q7 v' J: G6 L& _比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈) e3 q6 g1 |* S4 D" r/ k% `3 g
4 L3 f9 Q8 J2 @3 |8 E$ _
|