php如何在获取数据并将结果返回给c#时充当代理服务器?

时间:2016-01-11 07:04:56

标签: php json http

我正在开发一个项目,其中php中有一个代理/代理服务器,它使用c#从用户那里获取Json,然后代理服务器将使用c#将最终结果传递给用户Json也是。在代理服务器获取json之后,它会解码键/值并最终将值存储到变量中。但是,这些变量将通过http发送到终端服务器,以便在最后处理这些变量然后,终端服务器将处理后的最终结果发送回代理服务器,从而代理服务器将在日期结束时将结果作为JSON发送/发布给用户。 代理服务器可能如下所示:

stu_avatar.source = Info.repStuArr[Info._StuList].avatar;//it shows empty

stu_avatar.source = "http://extremelifechanger.com/web_images/avatar-sam09-8-251.jpg";//when change to this, it displays the image

上面的代码不具备通过php从终端服务器获取结果的功能,从而将结果作为JSON发布/发送给用户。如何实现所有这些功能? 感谢。

1 个答案:

答案 0 :(得分:0)

您正在向终端服务器发送GET请求,要在PHP中发出HTTP GET请求,您必须使用curl并返回$ content中的响应。 这是一个示例代码,希望它能为您提供帮助。

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL,'http://www.anydomain.com/anyapi.php?a=parameters');
$content = curl_exec($ch);
echo $content;
?>

确保您的查询字符串已正确编码。
您需要使用http_build_query构建您的URL,它将负责urlencoding。

$data = array('foo'=>'bar',
              'baz'=>'boom',
              'cow'=>'milk',
              'php'=>'hypertext processor');

echo http_build_query($data)

Output: foo=bar&baz=boom&cow=milk&php=hypertext+processor