|
|
有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?
/ r0 r- U5 I3 U+ h* f; q7 [2 v7 Y6 @( k2 P/ o
<?php $subid=$_POST["subid"]; ?>
1 Q- H5 K7 l% j: ^1 U% ~<?php
2 ~3 M5 o ]/ Q: a4 F( Ufunction send_post($url, $post_data) {
6 h! u) e% m% ]5 M* u* i9 \& H6 K% K3 q& `2 e& e8 c
$postdata = http_build_query($post_data);
8 T8 P; h3 g( V7 R6 ~ $options = array(
: O( |" x# h4 X' v8 w 'http' => array( 4 B3 H9 g0 [* N( O- c$ X) p0 `: J
'method' => 'POST',
: c. y- Q p# }4 ]' v3 w 'header' => 'Content-type:application/x-www-form-urlencoded',
- c8 ^. _7 N- m7 j) b3 z" w: @ 'content' => $postdata, 9 `1 t3 b) ~( b: n+ j) b7 \1 X
'timeout' => 15 * 60 // 超时时间(单位:s)
/ i! m- U: F* ~9 ^ ) + x! X: X2 a' {1 ^! G5 u
); 8 b2 a! ~* q1 I& x
$context = stream_context_create($options); 2 N z& r8 y$ w, Z0 p
$result = file_get_contents($url, false, $context); ; ^7 }" \0 D* {. ^3 E* d, W' B
- N V4 |. B( N( J: Q- F' ]1 B6 \ return $result;
( U$ Z8 e* {# W% j- V& W: h} 8 V0 C; z! S' }
; Y$ {; ~3 J! t5 v2 x1 |% E
//使用方法 : j( a9 L/ }" x+ P7 H- G0 K9 d9 E/ c3 j
$post_data = array( ( T& C: V5 h- M& l2 N+ N- |; G
'subid' => $subid
: P; Z$ M( a7 }" L( ^); & o" f4 N! E+ A- K- R! q' v
send_post('http://1.com/track.php', $post_data);
; @: D! [; I0 @2 v1 {- @send_post('http://2.com/track.php', $post_data); 6 @3 f$ N* p8 }5 {. T2 d5 Y2 s+ k
send_post('http://3.com/track.php', $post_data); + x$ Y" M3 ]6 y$ b
send_post('http://4.com/track.php', $post_data);
$ y" ?" B. k3 h7 [: s2 @?>* M* V! j* ?$ r( ^. C# J+ B
$ X4 A# L+ x: |2 m4 w6 o5 i8 S比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈$ J+ I( v. W$ W( j+ D
. H- [1 s1 `; O; A) Y% { |
|