有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?
& H/ O; J% E( L- n6 j k4 h* Z
( _4 u" ]/ X7 t<?php $subid=$_POST["subid"]; ?>
( v, J, P' P6 L) v0 |( I4 O6 n$ f9 j<?php
8 d: ~& V; ^6 m; Vfunction send_post($url, $post_data) {
3 i3 g/ ?& ^ Z" H g0 l8 c. ~+ }+ m+ M
$postdata = http_build_query($post_data); 3 u" H# j9 G6 v) w0 n
$options = array( ! @2 x; I/ z; [: i8 Z; g' h: u) Z
'http' => array( $ y8 O9 ]$ O: k+ z
'method' => 'POST', 7 H3 y7 r& N3 R: h" a) ?3 z
'header' => 'Content-type:application/x-www-form-urlencoded', : q; X% R) l' U* L3 A: \( I+ [2 n
'content' => $postdata,
[+ X f8 o4 [. k9 r 'timeout' => 15 * 60 // 超时时间(单位:s) , d; T4 V, d: I! f$ L* V1 w
) , P% m* u( R. h4 [- V
); ( Z, u# w9 @! {& i1 d: ?
$context = stream_context_create($options);
4 G6 p$ n! B E* R0 O( ? a$ E $result = file_get_contents($url, false, $context);
. r1 N; z' \2 H
; P/ k3 N1 ^! m' _/ e0 Z# r0 E return $result; 5 k0 N/ H0 s& }# V, k
}
# t1 a4 [* K' K; e# A; p0 g7 H* ^: n' W4 u: R1 e
//使用方法 4 p% s* c, }5 L# c' q9 Y
$post_data = array( 2 ^3 J9 ]; t3 T. m& G* u
'subid' => $subid
3 W! l) Y/ q" P. e% i3 f); 9 |7 y1 V, c% \" d3 g g/ k
send_post('http://1.com/track.php', $post_data);
0 T& }8 I. a! s6 c% d1 hsend_post('http://2.com/track.php', $post_data);
& \: A" z4 B2 n% B) j: w& asend_post('http://3.com/track.php', $post_data); % q0 z- |/ W+ b8 [4 n3 C- z
send_post('http://4.com/track.php', $post_data); 1 e( V* x: }- |" B" D# f$ B* q7 o
?>
9 r6 F& w- J# s
( Z4 D7 s) J8 x6 \2 U6 o比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈
3 H R5 f" \. S1 c8 J* Y# b3 c# O0 {1 `- I
|