有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?6 Z5 F3 ]. e, u4 o6 f- g% z! J
, i+ N9 M/ q. z' \0 l. S, t( j0 K<?php $subid=$_POST["subid"]; ?>8 b% Z) S4 r/ c% P; l
<?php- Y. d( E4 |- m3 b5 d" c
function send_post($url, $post_data) {
; @. `1 D; e v, E2 q
" C" y C8 m2 _/ T% G $postdata = http_build_query($post_data);
. F- R( }0 M+ B) q2 t7 d $options = array(
1 T- K* p Y9 ~ C 'http' => array(
6 j/ j, c; J6 B f; p 'method' => 'POST', : h0 _, L, b' d9 t5 ]' G
'header' => 'Content-type:application/x-www-form-urlencoded', ! u0 s+ y; W/ c/ x/ N+ X, E
'content' => $postdata, 7 ^' ^& ]& _! O( V) D& H
'timeout' => 15 * 60 // 超时时间(单位:s)
) [: F8 B2 @: Q ) / L% ~. h& B& f3 \/ j
);
7 a2 u, n6 Q, C" `' h $context = stream_context_create($options);
1 \/ h4 R; n9 g $result = file_get_contents($url, false, $context);
5 x7 \6 S* V1 p( X6 T+ P( p- c. l) f2 d( i
return $result; 1 Y2 o& C& `. D9 L& X, x
}
. F' R& d( i8 M* O1 b3 B% v$ S. r' G
//使用方法 1 V+ Z4 e b( e6 _
$post_data = array( 8 A% p7 \5 x8 B, e7 v! _
'subid' => $subid
4 \8 L% W9 M5 |1 X4 H);
B' b" t: ]5 o3 _, {7 {send_post('http://1.com/track.php', $post_data); 1 f; {( c& X" N7 G0 s
send_post('http://2.com/track.php', $post_data); * k/ I7 Z# L1 [( d
send_post('http://3.com/track.php', $post_data); % g8 A$ z1 ^# B1 f! `* k J
send_post('http://4.com/track.php', $post_data); 2 l! X$ r0 l2 H* ?0 a
?>6 n0 M R8 R6 g9 ]( Q. @
& d L/ @, T; e9 H( [
比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈- Q j) z; n- K3 C- P$ M
8 P+ y3 D6 @: }' G5 V5 U
|