通过POST将C#变量发送到PHP
我正在做一个项目,我需要将变量作为帖子发送到PHP脚本 C#调用一些方法来设置字符串变量,然后我需要将这些变量发布到PHP脚本中,以便PHP脚本可以使用变量中的数据 我怎么做呢?我试过谷歌,但它们看起来都有点复杂,还有如何从PHP获取数据,这在示例中很难确定post从何处开始和结束 我需要知道的只是如何将数据发布到脚本中,而不是让C#读取PHP脚本所做的事情 谢谢你能提供的帮助 更新 我认为我没有很好地解释我想要实现的目标 其目的是通过post将字符串格式的数据发送到PHP页面。然后我想将脚本加载到用户的web浏览器中,他们将能够看到php页面,当他们从php页面提交表单时,它可以使用发送给它的帖子中的信息 下面是将要发生的事情的一步一步的介绍通过POST将C#变量发送到PHP,c#,http,post,C#,Http,Post,我正在做一个项目,我需要将变量作为帖子发送到PHP脚本 C#调用一些方法来设置字符串变量,然后我需要将这些变量发布到PHP脚本中,以便PHP脚本可以使用变量中的数据 我怎么做呢?我试过谷歌,但它们看起来都有点复杂,还有如何从PHP获取数据,这在示例中很难确定post从何处开始和结束 我需要知道的只是如何将数据发布到脚本中,而不是让C#读取PHP脚本所做的事情 谢谢你能提供的帮助 更新 我认为我没有很好地解释我想要实现的目标 其目的是通过post将字符串格式的数据发送到PHP页面。然后我想将脚本加
public static string Post(string service, IDictionary<string, string> objects)
{
// Create a request using a URL that can receive a post.
WebRequest request = WebRequest.Create(ServiceAdress+service+".php");
// Set the Method property of the request to POST.
request.Method = "POST";
// Create POST data and convert it to a byte array.
StringBuilder b= new StringBuilder();
foreach(KeyValuePair<string,string> o in objects)
b.Append(HttpUtility.UrlEncode(o.Key)).Append("=").Append(HttpUtility.UrlEncode(o.Value??"")).Append("&");
if (PHPSESSID != null)
b.Append("PHPSESSID=").Append(PHPSESSID).Append('&');
string postData = b.ToString(0, b.Length - 1);
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse response = request.GetResponse();
if (((HttpWebResponse)response).StatusCode != HttpStatusCode.OK)
return null;
dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd();
Console.WriteLine(responseFromServer);
reader.Close();
dataStream.Close();
response.Close();
return responseFromServer;
}
publicstaticstringpost(字符串服务、IDictionary对象)
{
//使用可以接收帖子的URL创建请求。
WebRequest=WebRequest.Create(servicedress+service+“.php”);
//将请求的Method属性设置为POST。
request.Method=“POST”;
//创建POST数据并将其转换为字节数组。
StringBuilder b=新的StringBuilder();
foreach(对象中的KeyValuePair o)
b、 Append(HttpUtility.UrlEncode(o.Key)).Append(“=”).Append(HttpUtility.UrlEncode(o.Value??”).Append(“&”);
if(PHPSESSID!=null)
b、 追加(“PHPSESSID=).Append(PHPSESSID).Append('&');
字符串postData=b.ToString(0,b.长度-1);
byte[]byteArray=Encoding.UTF8.GetBytes(postData);
request.ContentType=“application/x-www-form-urlencoded”;
request.ContentLength=byteArray.Length;
Stream dataStream=request.GetRequestStream();
写入(byteArray,0,byteArray.Length);
dataStream.Close();
WebResponse=request.GetResponse();
if(((HttpWebResponse)response.StatusCode!=HttpStatusCode.OK)
返回null;
dataStream=response.GetResponseStream();
StreamReader=新的StreamReader(数据流);
字符串responseFromServer=reader.ReadToEnd();
Console.WriteLine(responseFromServer);
reader.Close();
dataStream.Close();
response.Close();
返回responseFromServer;
}
您可以使用WebRequest/WebResponse来完成。删除的php标记与此无关。对方的语言并不重要。这只是普通的HTTP调用。而且,你知道,你不能在程序之外的任何地方发送变量。你只能发送一个字符串。