चर को दूसरे सर्वर पर भेजें और PHP के साथ परिणाम प्राप्त करें

ठीक है मैं एक दूसरे सर्वर पर PHP चर भेजना चाहता हूं, यह मेरा कोड है, PHP चर एक आईपी पता है

 header("Location: http://www.domainname.com/bean/data.php?ip=$ip");

मूल रूप से अन्य सर्वर को आईपी पता मिलेगा और विवरण नामक चर वापस कर देगा, जो कि मैं स्पष्ट नहीं हूं, विवरण चर को सर्वर पर वापस करने का सबसे अच्छा तरीका है।

data.php पेज पर कोड

 $ip =$_GET['ip'];
 include("ipology.class.php");
 $ipology = new ipology( array($ip) );
 $out = $ipology->out();
 foreach( $out as $ip ) {
    if( is_array( $ip ) ) {
       $address = implode( ", ", (array) $ip['address'] );
       $descr = implode( ", ", (array) $ip['descr'] );
       echo "$descr";
    }
 }
4
आप इसके लिए शीर्ष लेख() का उपयोग नहीं करेंगे
जोड़ा लेखक John Conde, स्रोत
आपकी स्थिति के आधार पर, आपको सर्वर या क्लाइंट अन्य सर्वर से साइड रिक्वेस्ट। उनमें से कोई भी शीर्ष लेख() के साथ नहीं होता है।
जोड़ा लेखक Nick Andriopoulos, स्रोत
आपकी स्थिति के आधार पर, आपको सर्वर या क्लाइंट अन्य सर्वर से साइड रिक्वेस्ट। उनमें से कोई भी शीर्ष लेख() के साथ नहीं होता है।
जोड़ा लेखक Nick Andriopoulos, स्रोत
चारों ओर कर्ल खोजें
जोड़ा लेखक Jonathan, स्रोत
चारों ओर कर्ल खोजें
जोड़ा लेखक Jonathan, स्रोत
जैसे आप रीडायरेक्ट करते हैं। उत्तरों की जांच करें, आपको कर्ल या file_get_contents() का उपयोग करना होगा।
जोड़ा लेखक V.Vachev, स्रोत

10 उत्तर

ओरिजिनल सर्वर इस्तेमाल कर सकता है (फिल क्रॉस उल्लेख के रूप में) file_get_contents या कर्ल

$response = file_get_contents('http://www.domainname.com/bean/data.php?ip='.$ip);
print_r( $response );

दूरस्थ सर्वर उपयोग कर सकता है:

if ( isset( $_GET['ip'] ) && $_GET['ip'] ) {
  # do description lookup and 'echo' it out:
}

हेडर ('स्थान: xxx') का उपयोग करना; फ़ंक्शन, जो आप अनिवार्य रूप से कर रहे हैं वह मूल सर्वर पर PHP को 302 पुनर्निर्देशन हेडर के साथ प्रतिक्रिया करने के लिए मजबूर कर रहा है जो क्लाइंट को रिमोट सर्वर पर भेज देगा लेकिन रिमोट सर्वर से उत्पत्ति के लिए कोई 'वापस' नहीं जा रहा है।

2
जोड़ा
हाय धन्यवाद, मैंने data.php पेज (मूल पोस्ट में जोड़ा गया) की सामग्री को # सेक्शन में कुछ करने के लिए जोड़ा है लेकिन यह कुछ भी वापस नहीं करता है?
जोड़ा लेखक user1691024, स्रोत

ओरिजिनल सर्वर इस्तेमाल कर सकता है (फिल क्रॉस उल्लेख के रूप में) file_get_contents या कर्ल

$response = file_get_contents('http://www.domainname.com/bean/data.php?ip='.$ip);
print_r( $response );

दूरस्थ सर्वर उपयोग कर सकता है:

if ( isset( $_GET['ip'] ) && $_GET['ip'] ) {
  # do description lookup and 'echo' it out:
}

हेडर ('स्थान: xxx') का उपयोग करना; फ़ंक्शन, जो आप अनिवार्य रूप से कर रहे हैं वह मूल सर्वर पर PHP को 302 पुनर्निर्देशन हेडर के साथ प्रतिक्रिया करने के लिए मजबूर कर रहा है जो क्लाइंट को रिमोट सर्वर पर भेज देगा लेकिन रिमोट सर्वर से उत्पत्ति के लिए कोई 'वापस' नहीं जा रहा है।

2
जोड़ा
हाय धन्यवाद, मैंने data.php पेज (मूल पोस्ट में जोड़ा गया) की सामग्री को # सेक्शन में कुछ करने के लिए जोड़ा है लेकिन यह कुछ भी वापस नहीं करता है?
जोड़ा लेखक user1691024, स्रोत

वह शीर्ष लेख केवल उपयोगकर्ता को उस वेबसाइट पर पुनर्निर्देशित करेगा। आप file_get_contents() यदि आपका सर्वर कॉन्फिग रिमोट फाइल एक्सेस के लिए अनुमति देता है।

If not, look into

cURL

आप कर्ल की वापसी से सामग्री को पकड़ सकते हैं और उन्हें उस तरह से संसाधित कर सकते हैं।

1
जोड़ा

वह शीर्ष लेख केवल उपयोगकर्ता को उस वेबसाइट पर पुनर्निर्देशित करेगा। आप file_get_contents() यदि आपका सर्वर कॉन्फिग रिमोट फाइल एक्सेस के लिए अनुमति देता है।

If not, look into

cURL

आप कर्ल की वापसी से सामग्री को पकड़ सकते हैं और उन्हें उस तरह से संसाधित कर सकते हैं।

1
जोड़ा

आप दो तरीकों का उपयोग कर सकते हैं:

यदि लक्ष्य पृष्ठ का एकमात्र आउटपुट विवरण है, तो आप उपयोग कर सकते हैं

$description = file_get_contents("http://target.page?ip=xxx.xxx.xxx.xxx");

यदि नहीं, तो आप इस तरह कर्ल का उपयोग कर सकते हैं:

// Create Post Information
$vars = array(
'ip'=>'xxx.xxx.xxx.xxx',
'some_other_info'=>'xxx'
);


// urlencode the information if needed
$urlencoded = http_build_query($vars);

if( function_exists( "curl_init" )) { 
    $CR = curl_init();
    curl_setopt($CR, CURLOPT_URL, 'http://distantpage');
    curl_setopt($CR, CURLOPT_POST, 1);
    curl_setopt($CR, CURLOPT_FAILONERROR, true);
    curl_setopt($CR, CURLOPT_POSTFIELDS, $urlencoded );
    curl_setopt($CR, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($CR, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($CR, CURLOPT_FAILONERROR,true);


    $result = curl_exec( $CR );
    $error = curl_error ( $CR );


   //if there's error
    if( !empty( $error )) {
            echo $error;
            return;
    }

    curl_close( $CR );

}

parse_str($result, $output);
echo $output['description']; //get description
1
जोड़ा
हाय धन्यवाद, लेकिन मुझे यकीन नहीं है कि मैं इसमें अपने डेटा की सामग्री कैसे जोड़ूंगा। और यह न देखें कि आपको इको आउटपुट कैसे मिलता है
जोड़ा लेखक user1691024, स्रोत
आपके data.php को कुछ इस तरह से आउटपुट करने की आवश्यकता है: description = description और सामान ... और अन्य_info = अन्य जानकारी और अन्य सामान .. और फिर आप $ output ['description'] को इको कर सकते हैं।/कोड> या <�कोड> $ आउटपुट ['other_info'] </कोड>
जोड़ा लेखक user2050393, स्रोत

आप दो तरीकों का उपयोग कर सकते हैं:

यदि लक्ष्य पृष्ठ का एकमात्र आउटपुट विवरण है, तो आप उपयोग कर सकते हैं

$description = file_get_contents("http://target.page?ip=xxx.xxx.xxx.xxx");

यदि नहीं, तो आप इस तरह कर्ल का उपयोग कर सकते हैं:

// Create Post Information
$vars = array(
'ip'=>'xxx.xxx.xxx.xxx',
'some_other_info'=>'xxx'
);


// urlencode the information if needed
$urlencoded = http_build_query($vars);

if( function_exists( "curl_init" )) { 
    $CR = curl_init();
    curl_setopt($CR, CURLOPT_URL, 'http://distantpage');
    curl_setopt($CR, CURLOPT_POST, 1);
    curl_setopt($CR, CURLOPT_FAILONERROR, true);
    curl_setopt($CR, CURLOPT_POSTFIELDS, $urlencoded );
    curl_setopt($CR, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($CR, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($CR, CURLOPT_FAILONERROR,true);


    $result = curl_exec( $CR );
    $error = curl_error ( $CR );


   //if there's error
    if( !empty( $error )) {
            echo $error;
            return;
    }

    curl_close( $CR );

}

parse_str($result, $output);
echo $output['description']; //get description
1
जोड़ा
हाय धन्यवाद, लेकिन मुझे यकीन नहीं है कि मैं इसमें अपने डेटा की सामग्री कैसे जोड़ूंगा। और यह न देखें कि आपको इको आउटपुट कैसे मिलता है
जोड़ा लेखक user1691024, स्रोत
आपके data.php को कुछ इस तरह से आउटपुट करने की आवश्यकता है: description = description और सामान ... और अन्य_info = अन्य जानकारी और अन्य सामान .. और फिर आप $ output ['description'] को इको कर सकते हैं।/कोड> या <�कोड> $ आउटपुट ['other_info'] </कोड>
जोड़ा लेखक user2050393, स्रोत

यह स्निपेट मान वापस करने के लिए JSON का उपयोग करता है, इससे आप भविष्य में अपनी आवश्यकताओं का विस्तार करने पर कई मान वापस कर पाएंगे।

मैं आमतौर पर JSON के स्थान पर xml का उपयोग करता हूं, लेकिन ऐसा लगता है कि यह शैली से बाहर जा रहा है :-P

अगर यह आपके काम का है, तो मुझे बताएं।

<?php

$output = file_get_contents("http://www.domainname.com/bean/data.php?ip=$ip");

// This is what would go in data.php
$output = '{ "ip": "127.0.0.1", "description": "localhost" }';

$parsed = json_decode($output);

echo "Description for $parsed->ip is $parsed->description\n";

// var_dump($parsed);
0
जोड़ा

यह स्निपेट मान वापस करने के लिए JSON का उपयोग करता है, इससे आप भविष्य में अपनी आवश्यकताओं का विस्तार करने पर कई मान वापस कर पाएंगे।

मैं आमतौर पर JSON के स्थान पर xml का उपयोग करता हूं, लेकिन ऐसा लगता है कि यह शैली से बाहर जा रहा है :-P

अगर यह आपके काम का है, तो मुझे बताएं।

<?php

$output = file_get_contents("http://www.domainname.com/bean/data.php?ip=$ip");

// This is what would go in data.php
$output = '{ "ip": "127.0.0.1", "description": "localhost" }';

$parsed = json_decode($output);

echo "Description for $parsed->ip is $parsed->description\n";

// var_dump($parsed);
0
जोड़ा

ठीक है अगर हम मान लें कि data.php केवल उस विवरण को देता है जिसका आप उपयोग कर सकते हैं

echo file_get_contents("http://www.domainname.com/bean/data.php?ip=".$ip);

यह काम करना चाहिए, लेकिन CURL का उपयोग करना सबसे अच्छा विकल्प है।

0
जोड़ा

ठीक है अगर हम मान लें कि data.php केवल उस विवरण को देता है जिसका आप उपयोग कर सकते हैं

echo file_get_contents("http://www.domainname.com/bean/data.php?ip=".$ip);

यह काम करना चाहिए, लेकिन CURL का उपयोग करना सबसे अच्छा विकल्प है।

0
जोड़ा