有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?
- r' a( g' ?1 ~& ]
# \2 I2 G+ M! w2 O! m<?php $subid=$_POST["subid"]; ?>
2 a/ T8 _- ~3 n7 [) l0 V<?php
9 V# _5 Z- E5 O5 v5 g. Afunction send_post($url, $post_data) { ; Z: O5 l3 z! I& v3 }) ?
, S0 s2 J1 }6 N7 `) ]$ P R; c
$postdata = http_build_query($post_data); 1 o4 D I2 r0 u0 n- Y
$options = array(
) k/ h: u4 Y# z* |/ ^6 a) |6 F) W 'http' => array( / b1 G3 \7 @# B2 i
'method' => 'POST', ) ]; E' }! a( X/ L, r1 G
'header' => 'Content-type:application/x-www-form-urlencoded',
0 v$ E& s- y9 A% P' T 'content' => $postdata,
+ F z7 t- ~# u8 Y7 d" W 'timeout' => 15 * 60 // 超时时间(单位:s) ; R5 V: g# o: n8 p3 A) b+ `( T( O5 B
)
( ~" \5 x8 o# ^' ?9 n3 ? ); 6 o3 ^- o2 p& g$ f2 l- S! _
$context = stream_context_create($options); # B: [" s4 {8 H Z; @! r
$result = file_get_contents($url, false, $context); # @, o8 z- i' |" U1 L
8 a8 d# Z5 Q! \% A
return $result;
1 Z) S: m4 t5 Q1 N7 q2 [ A, J}
- G0 w' P7 j1 Q& O, V, y2 l! r1 ^ i" e+ ~
//使用方法
* _( Q$ c/ T# K( h$post_data = array(
/ h% F' z& y1 z# R x 'subid' => $subid " z% P2 F9 l" H" F1 ^( `
); 1 [, k) h K$ c" S& F
send_post('http://1.com/track.php', $post_data);
& H- T0 y$ \8 ^( k- h' k# f T: v9 Gsend_post('http://2.com/track.php', $post_data);
. ?8 |, C) P# W6 Gsend_post('http://3.com/track.php', $post_data);
. C4 }- A. u; N, N5 wsend_post('http://4.com/track.php', $post_data);
% v: w1 D1 ]0 a w4 T3 Z?>
! F. O5 O* D* Z) W$ n) U8 M: U' q% T) ?$ O9 ]" l% Z
比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈; s+ m, S3 B# o. `6 u5 y. [; B
, r/ p) e/ k7 d
|