Tag: php

如何阻止HTTP转义引号?

我正在使用C#将一些数据发送到运行PHP的Web服务器。 我正在POST数据中向服务器发送一个JSON格式的对象。 当它离开C#程序时,数据看起来像这样: json_text={“abc”:”hello”, “dfg”:”world”} 我让服务器使用echo $ _POST [‘json_text’]完全按照收到的数据打印数据; 该脚本输出以下内容: {\”abc\”:\”hello\”, \”dfg\”:\”world\”} 我不太熟悉如何将POST数据打包到HTTP数据包中。 我打开了WireShark来查看如何在POST数据中发送引号,看起来它们被替换为%22 。 但是,我尝试用%22替换我的引号,它并没有阻止引号在输出时被转义。 谢谢

使用JavaScript和/或C#(Unity3D)从PHP脚本加载一些变量

我在Unity Game Engine中有困难的项目,我需要创建从服务器上的PHP文件加载变量的脚本。 我的PHP脚本是: 结果如下: 1 Server = SomeIP1 2 Server = SomeIP2 3 Server = SomeIP3 如何在C#和/或JS(Unity3D)中读取这些(作为变量)?

将字母强制转换为int时C#会做什么?

我们要为外部接口实现加密。 接口的所有者已经提供了如何在我们这边预先形成相同加密的文档。 但是,此文档在C#中,我们使用PHP。 我们理解的大多数部分除了它们似乎将哈希值转换为int之外。 他们的代码如下: // hashString exists and is a md5 a like string int[] keyBuffer = new int[hashString.length]; for (int i=0; i<hashString.length; i++) { keyBuffer[i] = (int)hashString[i]; } 在PHP中,将字母转换为int时,得到0(int)。 我们无法想象这是第三方意味着什么,我们相信C#会做其他事情。 C#也会转换为int 0,还是可能转换为char? 其次,原始的hashString长320。 这意味着代码将创建一个320长的int? 在PHP中,你没有像C#那样保留内存的想法。 但是当我们尝试将320长字符串强制转换为int时,我们得到一个长度为19’字符的int。 当在字符串中对一个非常长的“数字”进行类型转换时,C#是否也会创建一个更短的int?

C#RSA加密 – > PHP RSA解密

我试图在C#中使用RSA加密AES密钥和IV,并使用phpseclib用PHP解密它们。 我试图解决这个问题大约4个小时,但我总是得到’2495行的解密错误’。 PKCS似乎有问题。 临时私钥 临时公钥 在C#中使用RSA加密后的密文(decrypted =“testkey”,因为我删除了用于测试的aes加密) Cd/RsiVqKnEP2T9oTgnvRuHVKY09VfynLHIlinIGtW4PFrB2kKffIrIqRQKhob6bPIR4efjxhCn43AQ2gE5P/AMG/EDWk9HMJF8XuhdtsWfPmnqxVV4crpA2FZwh4BWdXq4N70ieWbuk+pRJ1dHGhLgFfphp4sVVopn3bPKw2VKI0O+MT4nUCHFac25owoFnMULzuxj60I9Qa/TIlCKwMNcv2r7ili/LvplPZIEnH2p/bR62TAUvty0yo9NTHZm+wlqyIUmA1/GrM0VHjmcnRjFQHp1zQreRspvRsbk= PHP(如果strrev与否,则无变化): public function RSADecryption($key, $iv) { $PrivateKeyFile = RSA_Private; $rsa = new Crypt_RSA(); $rsa->setEncryptionMode(CRYPT_RSA_ENCRYPTION_PKCS1); $rsa->loadKey($PrivateKeyFile); // decrypt key and iv for aes decryption $aes_key = base64_encode($rsa->decrypt(strrev((base64_decode($key))))); $aes_iv = base64_encode($rsa->decrypt(base64_decode($iv))); echo $aes_key; echo “”; echo $aes_iv; } C#加密: public static string RSAEncryption(string aes_key, string aes_iv, string publickey) { […]

从c#调用PHP Web服务

我目前正在尝试用c#调用PHP Web服务。 我一直在尝试在互联网上找到的几十种解决方案,但没有运气,没有一个与我有同样的问题。 我不熟悉PHP。 我可以从c#中成功调用authenticate_get string auth_id = client.authenticate_get(“www.testexample.com”, “e5d30c56d600a7456846164”); 并获取返回的身份validationID,但后来不知道如何在c#中传递数组。 这是给出的PHP示例。 authenticate_get(‘username’, ‘password’); $client = new SoapClient(“https://example.com/TESTApi_v1_1.wsdl.php”, array(“login” => $auth_id )); ?> 当我尝试调用任何其他方法时,我只是得到一个错误,返回“需要HTTP Basic Authorization头”。 我也尝试过: Uri uri = new Uri(url); ICredentials credentials = netCredential.GetCredential(uri, “Basic login:” + auth_id); client.Credentials = credentials; client.PreAuthenticate = true; 我一直在努力: public class MyHeader : SoapHeader { public string […]

从C#编码URL,在PHP中解密URL(以某种方式添加额外的字符)

到目前为止,我已经阅读了很多关于这个主题的主题,我无法理解问题可能在哪里。 我正在从C#winform应用程序加密部分URL。 然后我想用URL读取URL并解密url(全部使用base-64)。 我确实有一些代码要求: 加密URL的代码(C#): public static string Base64Encode(string str) { byte[] encbuff = Encoding.UTF8.GetBytes(str); return System.Web.HttpServerUtility.UrlTokenEncode(encbuff); } 解密url的一部分: Base64Encode(“CND0311J4S68CCU Ver. F.0BHPQOEM – f”); 返回: Q05EMDMxMUo0UzY4Q0NVIFZlci4gRi4wQkhQUU9FTSAtIGY1 解密URL(PHP)的代码: echo base64_decode(“Q05EMDMxMUo0UzY4Q0NVIFZlci4gRi4wQkhQUU9FTSAtIGY1”); 返回: CND0311J4S68CCU Ver. F.0BHPQOEM – f5 那么,回报结束时额外的“5”来自哪里? 我无法想象我的生活,你可以想象的非常令人沮丧。 我感谢任何帮助 – 以及任何建议! 谢谢, 埃文

如何在C#中使用PHP CLI

我来自中国,所以我的英语可能真的很差。 我尽力让你理解我的问题。 我想在我的C#项目中使用PHP CLI。 我试过像这样的代码 Process p = new Process(); p.StartInfo.FileName = “cmd.exe”; p.StartInfo.Arguments = command; p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardError = true; p.StartInfo.CreateNoWindow = true; try { p.Start(); p.StandardInput.WriteLine(command); p.StandardInput.WriteLine(“exit”); p.WaitForExit(1000); StreamReader reader = new StreamReader(p.StandardOutput.BaseStream, Encoding.GetEncoding(“utf-8”)); string text= reader.ReadToEnd(); if (text.IndexOf(command) != -1) { int start = text.IndexOf(command) […]

将字符串发送到PHP页面并使PHP页面显示字符串

我想要做的是让我的PHP页面显示一个字符串,我通过System.Net.WebClient通过我的C#应用​​程序中的函数创建。 真的是这样。 以最简单的forms,我有: WebClient客户端=新WebClient(); string URL =“http://wwww.blah.com/page.php”; string TestData =“wooooo!test !!”; byte [] SendData = client.UploadString(URL,“POST”,TestData); 所以,我甚至不确定这是否是正确的方法..而且我不确定如何实际获取该字符串并将其显示在PHP页面上。 像print_r(SendData)? 任何帮助将不胜感激!

C#ping minecraft

所以发现这个小代码片段可以让你用PHP ping一个Minecraft服务器,但现在我想用C#做这个。 我尝试自己这样做,但由于某种原因它只是不起作用 UdpClient client = new UdpClient(); IPEndPoint ep; try { ep = new IPEndPoint(IPAddress.Parse(“-snip-“), -snip-); client.Connect(ep); } catch { Console.WriteLine(“Error”); Console.ReadLine(); return; } byte[] bytes = new byte[1]; bytes[0] = (byte)0xFE; client.Send(bytes, bytes.Length); IPEndPoint rep = new IPEndPoint(IPAddress.Any, 0); byte[] recv = client.Receive(ref rep); Console.WriteLine(ASCIIEncoding.ASCII.GetString(recv)); Console.ReadLine(); 服务器似乎完全忽略了数据包。 这是我找到的代码片段: $fp = fsockopen($host, $port, $errno, […]

使用C#调用php脚本(Unity)

我对Unity和PHP都很陌生,我目前正在开发一个项目,我可以使用PHP将MySQL数据库中的数据解析为Unity。 我最初想尝试启用一种方法,用户可以更改php脚本并使其能够选择不同的数据表,但我被告知,在php脚本中列出所有变量并从中调用它可能更安全相应的统一; Display.php的 $table = mysql_real_escape_string($_GET[‘table’], $db); if ($table == “shoes”) { $query = “SELECT * FROM `shoes` ORDER by `price` ASC LIMIT 10”; elseif ($table == “sneakers”) { $query = “SELECT * FROM `sneakers` ORDER by `price` ASC LIMIT 10”; $result = mysql_query($query) or die(‘Query failed: ‘ . mysql_error()); $num_results = mysql_num_rows($result); for($i = […]