使用php curl将变量传递给另一个站点

时间:2016-10-05 15:29:56

标签: php curl

我在另一篇文章中看到了以下代码......

<?php
  $ch = curl_init(); // create curl handle

  $url = "http://www.google.com";
  /**
   * For https, there are more options that you must define, these you can get from php.net 
   */
  curl_setopt($ch,CURLOPT_URL,$url);
  curl_setopt($ch,CURLOPT_POST, true);
  curl_setopt($ch,CURLOPT_POSTFIELDS, http_build_query(['array_of_your_post_data']));
  curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch,CURLOPT_CONNECTTIMEOUT ,3); //timeout in seconds
  curl_setopt($ch,CURLOPT_TIMEOUT, 20); // same for here. Timeout in seconds.
  $response = curl_exec($ch);

  curl_close ($ch); //close curl handle

  echo $response;
?>

唯一的问题是我不知道如何实际实现它或它将如何工作。

这是我想要做的......

sitea.com/setup正在设置php变量。如果您访问过该页面,则会设置$ var1 =“hello”$ var2 =“hi”

如果有人访问siteb.com,我想使用php并以某种方式将这些变量从sitea.com/setup获取到siteb.com并将它们设置为新的php变量。我假设curl是我读过的最好的选择,但无法弄清楚如何让它工作(或者把它放在哪里以及如何调用它)。

我正在试验代码,试图了解如何为即将开展的项目做点什么。任何帮助将不胜感激。

我应该注意,我需要这个能够从server1上的一个域工作到server2上的另一个域。

1 个答案:

答案 0 :(得分:1)

以简单的方式可以完成:

网站 a file.php

<?php
$a = 10;
$b = 20;
echo $a . ':' . $b;
?>

网站 b curl.php

<?php
  $ch = curl_init(); // create curl handle

  $url = "http://sitea/file.php";
  /**
   * For https, there are more options that you must define, these you can get from php.net 
   */
  curl_setopt($ch,CURLOPT_URL,$url);
  curl_setopt($ch,CURLOPT_POST, true);
  curl_setopt($ch,CURLOPT_POSTFIELDS, http_build_query(['array_of_your_post_data']));
  curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch,CURLOPT_CONNECTTIMEOUT ,3); //timeout in seconds
  curl_setopt($ch,CURLOPT_TIMEOUT, 20); // same for here. Timeout in seconds.
  $response = curl_exec($ch);

  curl_close ($ch); //close curl handle

  echo $response;
  $parts = explode(':', $response);
  $var1 = $parts[0];
  $var2 = $parts[1];
?>