我需要从php服务器向.NET发送请求 这个请求必须被cypted,所以我想到了
这里我将如何处理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()
会使用调味品加密序列化参数。
问题是
我对.net一无所知,这将由其他人完成
答案 0 :(得分:2)
PHP方面我认为你可以使用php http://php.net/manual/fr/book.openssl.php的openssl扩展。它为您提供了一个功能强大的API,可以满足您的需求。
.NET端您可以查看http://msdn.microsoft.com/en-us/library/system.net.security.sslstream.aspx或http://www.dart.com/sockets-net-api-library.aspx
json是一个很好的序列化工具,但有点无用,因为它是无类型的。 这里有两个解决方案:
您知道.net应用程序将与您的共享相同的类架构,因此使用serialize()
是好的。
你不知道或者你知道它会以其他方式发展,所以json_encode是最好的方法。我只是想指出一个事实,如果你把它作为GET,你将被限制为255个字符,而不是无限的,如果你选择了一个POST请求。 此外,如果您希望json数据可读,则必须对其进行urlencode
要发送POST请求而不是GET,您可以查看此脚本: http://www.jonasjohn.de/snippets/php/post-request.htm
答案 1 :(得分:1)
你的问题是答案。
您可以使用JSON
,XML
将数据从PHP
发送到.NET
。
json
发送的响应速度快于XML
。
是JSON
是序列化的不错选择。