অন্য সার্ভার পরিবর্তনশীল পাঠান এবং পিএইচপি সঙ্গে ফলাফল পেতে

ঠিক আছে আমি অন্য সার্ভারে একটি পিএইচপি পরিবর্তনশীল পাঠাতে চাই, এটি আমার কোড, 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, উৎস
যে আপনি পুনঃনির্দেশ সঞ্চালন। উত্তর পরীক্ষা করুন, আপনাকে অবশ্যই curl বা file_get_contents() ব্যবহার করতে হবে।
যোগ লেখক V.Vachev, উৎস

10 উত্তর

মূল সার্ভারটি (ফিল ক্রস উল্লেখ হিসাবে) file_get_contents বা curl ব্যবহার করতে পারে:

$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'); ফাংশন, যা আপনি মূলত করছেন তা হল পিএইচপিকে মূল সার্ভারে 302 পুনঃনির্দেশ শিরোনামের প্রতিক্রিয়া জানানো যা রিমোট সার্ভারে ক্লায়েন্টকে পাঠাবে, কিন্তু দূরবর্তী সার্ভার থেকে কোনও 'ফিরে যাওয়া' হয় না।

2
যোগ
হাই ধন্যবাদ, আমি তথ্য.এইচপি পৃষ্ঠার বিষয়বস্তু (আসল পোস্টে যোগ করা) যোগ করেছি # এখানে কোনও বিভাগে কিছু করছি কিন্তু এটি কোনও কিছু ফেরত দেয় না?
যোগ লেখক user1691024, উৎস

মূল সার্ভারটি (ফিল ক্রস উল্লেখ হিসাবে) file_get_contents বা curl ব্যবহার করতে পারে:

$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'); ফাংশন, যা আপনি মূলত করছেন তা হল পিএইচপিকে মূল সার্ভারে 302 পুনঃনির্দেশ শিরোনামের প্রতিক্রিয়া জানানো যা রিমোট সার্ভারে ক্লায়েন্টকে পাঠাবে, কিন্তু দূরবর্তী সার্ভার থেকে কোনও 'ফিরে যাওয়া' হয় না।

2
যোগ
হাই ধন্যবাদ, আমি তথ্য.এইচপি পৃষ্ঠার বিষয়বস্তু (আসল পোস্টে যোগ করা) যোগ করেছি # এখানে কোনও বিভাগে কিছু করছি কিন্তু এটি কোনও কিছু ফেরত দেয় না?
যোগ লেখক 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 এর মতো কিছু আউটপুট করার প্রয়োজন: বিবরণ = বিবরণ এবং উপাদান ... এবং অন্যান্য_ইনফো = অন্যান্য তথ্য এবং অন্যান্য উপাদান .. এবং তারপর আপনি $ আউটপুট ['বিবরণ'] ইকো করতে পারেন </কোড> বা <�কোড> $ আউটপুট ['অন্যান্য_ইনফো']
যোগ লেখক 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 এর মতো কিছু আউটপুট করার প্রয়োজন: বিবরণ = বিবরণ এবং উপাদান ... এবং অন্যান্য_ইনফো = অন্যান্য তথ্য এবং অন্যান্য উপাদান .. এবং তারপর আপনি $ আউটপুট ['বিবরণ'] ইকো করতে পারেন </কোড> বা <�কোড> $ আউটপুট ['অন্যান্য_ইনফো']
যোগ লেখক user2050393, উৎস

এই স্নিপেটটি মানটি ফেরত দেওয়ার জন্য JSON ব্যবহার করে, আপনার প্রয়োজনীয়তাগুলি যদি প্রসারিত হয় তবে ভবিষ্যতে এটি আপনাকে একাধিক মান প্রদান করতে দেবে।

আমি সাধারণত JSON এর পরিবর্তে এক্সএমএল ব্যবহার করি, কিন্তু মনে হচ্ছে এটি স্টাইলের বাইরে যাচ্ছে: -পি

কাজ করেছে কিনা আমাকে জানান.

<?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 এর পরিবর্তে এক্সএমএল ব্যবহার করি, কিন্তু মনে হচ্ছে এটি স্টাইলের বাইরে যাচ্ছে: -পি

কাজ করেছে কিনা আমাকে জানান.

<?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
যোগ