有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?' ]& E1 m8 x& b0 {( \, D9 {$ v
( F; n" [/ m+ {" ?; O, C<?php $subid=$_POST["subid"]; ?>2 H- [4 U! Z' z1 L& ^# e
<?php
- ~& ^1 x- y3 }9 v* M, D+ a8 ofunction send_post($url, $post_data) {
1 P& ]/ O# N0 `/ i
2 [: G' H3 ~: Z/ { $postdata = http_build_query($post_data);
6 f6 J9 K. i$ J $options = array(
; ?8 Y. e$ g- l4 k' S, W2 L2 m' O- D0 c 'http' => array(
1 U" ]( `, \3 }9 F" `! r6 {$ p 'method' => 'POST',
/ ?7 y, D; j3 X1 K- R4 U 'header' => 'Content-type:application/x-www-form-urlencoded',
( p% l2 h" ^$ P. c3 h 'content' => $postdata, ; A) T/ _4 X9 p7 ~) L/ D
'timeout' => 15 * 60 // 超时时间(单位:s) ]5 u# E' I, L
)
# x' P2 r f; O X$ O1 L3 D );
1 I/ ]& C- E' \* t) N; R% d; V $context = stream_context_create($options); 3 P3 i8 ]- d5 F. K) R
$result = file_get_contents($url, false, $context); 0 I1 E! m/ s# z' w5 f0 o
' w; @5 l" c3 I0 L
return $result; $ U! _5 F5 u& I: ?! R
}
- _5 V& u& ^+ _! T
2 E4 \2 j/ s4 O6 q" y% G9 U- C//使用方法 . R+ a% g* J! G N o) [$ a( z
$post_data = array( `- d! b. T. ?
'subid' => $subid
9 U0 q3 S- G+ Z4 S! Y5 A/ w+ C: t; s); ; K5 h; g! c; S* C$ G- q
send_post('http://1.com/track.php', $post_data); 8 P7 `+ W! p0 R+ _6 p9 E* `7 M
send_post('http://2.com/track.php', $post_data);
9 L2 f) k. d4 C6 ]' g- xsend_post('http://3.com/track.php', $post_data);
1 j6 N* @! s: esend_post('http://4.com/track.php', $post_data);
5 b, s/ z5 V- c6 `& ?# p?>
; V6 x7 H3 X h8 D8 r
c( u' [! B! w6 y7 H比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈( A$ L- q$ _2 k9 q9 n- ]! G# X
# ?6 z8 M Z! j1 o* f0 [/ u
|