有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?
( x4 I/ G( p4 Z6 t) t! [ n! o1 ?) e* E) [
<?php $subid=$_POST["subid"]; ?>( a: W' e8 ]; o) i
<?php. N7 D. `1 H# u8 M2 {" y2 M/ P
function send_post($url, $post_data) { 2 y( h. e3 w- p
! G& U5 S% K- F; m, H
$postdata = http_build_query($post_data);
+ y( E9 G, p3 W2 [- Y/ l $options = array(
1 a. H# z8 q2 k 'http' => array( " R' P0 Q. g# x) ]/ b
'method' => 'POST',
' p4 j7 v, w5 C+ N1 `1 y4 ^ 'header' => 'Content-type:application/x-www-form-urlencoded',
* {& `4 w7 ~* y3 n5 J 'content' => $postdata,
* y5 {2 Y; g+ L3 Z2 y [- Z% R 'timeout' => 15 * 60 // 超时时间(单位:s) 5 T" n4 K- g( w5 t+ E& q& t
) 2 Y5 L% V$ l5 ~; S' i$ G: \
); 4 E" v! B1 U% d( [% b+ c
$context = stream_context_create($options); + k% n% @, t5 R- X9 y
$result = file_get_contents($url, false, $context); - j- E, T: J; Y g
; t) W2 n, a/ _ return $result;
- c1 {8 H, P: o' i7 J+ n}
9 u0 y2 o. Y# o1 K
2 J* ~9 Z4 s" |//使用方法 % G( ^) K$ |' _: w0 v$ u
$post_data = array( ~ B2 r" Q8 w- T
'subid' => $subid ! H6 g1 D- g0 W: O5 N0 z. w
); & q# `+ H* U' R4 G; @7 w8 G" F
send_post('http://1.com/track.php', $post_data);
; S. }8 ~. i5 w& Asend_post('http://2.com/track.php', $post_data); & Y& K5 ~5 N% W9 |) ?( |. S2 S! D
send_post('http://3.com/track.php', $post_data);
! m- g6 x7 O" a9 |' U; N( Xsend_post('http://4.com/track.php', $post_data);
7 }' ^- P& k) `% }+ \# K?>
3 m. w0 S5 L: @; h
4 ]+ Y$ w8 Y' P7 ^; ]7 P/ C; k( @比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈# F. }9 C9 H- `% L
O8 q. U% r( Z+ Q |