有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?
9 |% z! o2 W8 U/ f* K$ @# N
: `- f4 O/ |" b+ n2 C- ]<?php $subid=$_POST["subid"]; ?>
/ X+ J- K* n! s7 C. o- e- y<?php
! B( g) U3 O, J; C8 R' p& Tfunction send_post($url, $post_data) {
9 g. y' \1 [0 _3 M6 }# ^6 I: V9 S' B5 f5 u: ~/ C, _
$postdata = http_build_query($post_data); C" C6 o7 h& o% ~
$options = array(
( |( r0 R: u4 |, y d! _ 'http' => array( ) d2 e: N. }8 O& \
'method' => 'POST',
$ h) @% Q9 M. t 'header' => 'Content-type:application/x-www-form-urlencoded',
! w7 b9 s k* J+ I% o4 n8 U 'content' => $postdata,
, h L& n; S) X( ~* C 'timeout' => 15 * 60 // 超时时间(单位:s)
- y5 @9 ~' `7 d, G )
1 B' [+ ?* Y" @" z );
% j3 h3 w! z5 ?1 o $context = stream_context_create($options); 8 z( j& e M" U' z% [. G& y
$result = file_get_contents($url, false, $context);
q I; c" V9 y, a9 F: @# N: m
8 x- i. E/ o, K( L& O' e$ a# r return $result; ! H% f8 i% H; }0 L
}
' Q- o, W3 A+ S( j. h% ^4 n' u8 x, f' F
//使用方法
) U1 N$ K* _6 L8 S3 _$post_data = array( # o0 `2 @1 F: k. S7 {
'subid' => $subid 5 f5 D9 Q( J" l2 k. a% J, q& q) c
); ' ^7 u, H, T" g$ ]) \! ?. k7 i
send_post('http://1.com/track.php', $post_data); 6 v2 S0 q* ~; b; r" u
send_post('http://2.com/track.php', $post_data);
& K1 \7 D# {( t8 c" P. K# }' Vsend_post('http://3.com/track.php', $post_data); 6 o5 i5 w5 i4 y: k7 p2 e
send_post('http://4.com/track.php', $post_data); : t# N, b. o9 U
?>& S; C& B' _+ G( E4 o0 c
2 R6 L- K2 o! E3 l- E比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈9 C$ y5 ~& E" l$ C M
, B( A7 e3 v; { |