0

我需要从 php 服务器向 .NET 服务器发送请求。
这个请求必须被cypted,所以我想到了

  • 序列化参数
  • 打字
  • Base64 编码以将其作为 HTTP 请求

在这里我将如何在 php 中做

$url = 'http://my.server.net';
$params = array('var1' => 5, 'var2' => 'machin', 'var3' => 'chose');
$serialized = json_encode($params);
$crypted = encrypt($serialized, $salt);
$request = $url.'?'.base64_encode($crypted);

encrypt()将使用调味加密序列化的参数。

问题是

  1. 我应该使用哪些函数来加密我的消息,以便使用 .net 轻松解密?
  2. json 是 .net 的一个很好的序列化选择吗?

我对.net一无所知,这将由其他人完成

4

2 回答 2

2

对于问题一

对于问题 2:

json 是一个很好的序列化工具,但由于它是无类型的,所以有点有损。所以这里有两个解决方案:

  • 您知道 .net 应用程序将与您共享相同的类体系结构,因此使用起来serialize()很好。

  • 您不知道,或者您知道它将以其他方式开发,因此 json_encode 是最好的方法。我只想指出这样一个事实,如果您将其 5 作为 GET,如果您选择 POST 请求,您将被限制为 255 个字符而不是无限。此外,如果您希望它们可读,您必须对您的 json 数据进行 urlencode

要发送 POST 请求而不是 GET,您可以查看此脚本: http ://www.jonasjohn.de/snippets/php/post-request.htm

于 2012-09-18T06:31:14.323 回答
1

你的问题就是答案。

您可以使用JSON,XML将数据从 发送PHP.NETjson正在发送比 更快的响应XML

YesJSON是序列化的好选择。

http://msdn.microsoft.com/en-us/library/bb410770.aspx

于 2012-09-18T06:30:09.130 回答