我正在使用 向 PHP 服务器发送 HTTP POST 请求HttpWebRequest
。我的代码是这样工作的:
/// <summary>
/// Create Post request.
/// </summary>
/// <param name="requestUrl">Requested url.</param>
/// <param name="postData">Post data.</param>
/// <exception cref="RestClientException">RestClientException</exception>
/// <returns>Response message, can be null.</returns>
public string Post(string requestUrl, string postData)
{
try
{
//postData ends with &
postData = "username=XXX&password=YYYY&" + postData;
byte[] data = UTF8Encoding.UTF8.GetBytes(postData);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(requestUrl);
request.Method = RequestMethod.Post.ToString().ToUpper();
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
using (Stream stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
stream.Flush();
}
string responseString;
using (WebResponse response = request.GetResponse())
{
responseString = GetResponseString(response);
}
return responseString;
}
catch (WebException ex)
{
var httpResponse = (HttpWebResponse)ex.Response;
if (httpResponse != null)
{
throw new RestClientException(GetExceptionMessage(httpResponse));
}
throw;
}
}
我正在经历奇怪的行为。每分钟我都会使用这个发送大约 100 个请求。但有时,此请求会在没有 POST 数据的情况下执行。然后我的 PHP 服务器返回错误(因为我正在检查请求是否为 POST 以及是否有任何 POST 数据)。
这是客户端/服务器通信。装有 Windows 服务应用程序的计算机使用 Wifi 连接到互联网。连接有时真的很差。可以提到这个原因问题吗?如何使 HTTP POST 请求对这种行为安全。