有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?) \6 A: X% n4 N V
% o; A1 C, d+ c3 i `' R
<?php $subid=$_POST["subid"]; ?>+ m( d" n1 b0 S5 U5 L5 [
<?php
% a# y/ y; _) W+ V/ z6 efunction send_post($url, $post_data) { ! q8 Y8 R8 z' P# V( K2 e
% H g% }7 c0 _
$postdata = http_build_query($post_data);
+ J/ R$ v! `+ o% X $options = array( # z- R8 `' z. g) x" u
'http' => array( D) ]* I8 J L) U) q3 y
'method' => 'POST',
8 n$ k9 j" M2 t% O6 | 'header' => 'Content-type:application/x-www-form-urlencoded', - h, ^! T9 {& e, ]
'content' => $postdata,
5 R/ |) s/ I. ]( O: r! c* O4 } 'timeout' => 15 * 60 // 超时时间(单位:s)
& Q" s. d5 T6 o" u )
0 F3 \! O# ^4 `# o1 U% y );
, e$ Z$ }" @2 y# v1 U $context = stream_context_create($options);
* V4 X# p% ~% I $result = file_get_contents($url, false, $context);
5 |8 o+ \; p( g( o' ~( E
* c" `$ }% u1 t- ~8 G" ?' s9 o return $result;
( G4 D, A& ^- \ U- N- |+ k" y} " w3 @! M8 Q+ l0 @4 n+ Y: v
, N- `6 | C) U/ @//使用方法
4 H0 D- a: K% J$post_data = array( $ X f {. N; W, U
'subid' => $subid 4 b& a3 O" j# n5 l+ ]' L
); ! i+ O6 |' i- h! k1 a/ g1 O& u; N
send_post('http://1.com/track.php', $post_data);
6 w; ~" V/ P+ X, T: C2 f/ Z; nsend_post('http://2.com/track.php', $post_data); . X$ D4 B O0 W
send_post('http://3.com/track.php', $post_data); O/ A4 U' c; e, v! P
send_post('http://4.com/track.php', $post_data);
* o; s$ u( H: u& a* l?>
7 o4 L) F' ^9 g0 m" j4 `2 S
+ _# k' Q! s- v* y比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈' S3 d- l' c: g
! V$ t: F" x. y$ p9 y |