目前在做一個驗證帳號可用性的node模塊,使用 request 發送POST請求到驗證伺服器, 如果狀態碼是 200 就代表驗證成功,403 就代表驗證失失敗。 可是明明帳號密碼就對了 ,卻一直回傳403, 但是我使用C#做的帳號驗證程式卻回傳200狀態碼, 各位大神知道問題在哪裡馬? 求解
POST 請求訊息 : Url : https://loader.joduska.me/login/alanting850420 Method : POST Body : p=72248a5b6a849968285a25a3962be092 Content-Type : application/x-www-form-urlencoded
node 代碼 :
var authServer = "https://loader.joduska.me/login/alanting850420";
var buffer = new Buffer("p=72248a5b6a849968285a25a3962be092");
request({
method : 'POST',
uri : authServer,
body : buffer,
headers : [{
name : 'content-type',
value : 'application/x-www-form-urlencoded'
}]
},function(err,res,body){
if (err)
return;
if (res.statusCode == 403)
socket.emit('AuthFailed');
else
{
socket.emit('AuthSucceed');
authed = true;
}
})
C# 代碼 :
var data = "p=72248a5b6a849968285a25a3962be092";
var dataBytes = Encoding.UTF8.GetBytes(data);
var wr = HttpWebRequest.Create("https://joduska.me/login/" + WebUtility.UrlEncode("alanting850420"));
wr.Timeout = 2000;
wr.ContentLength = dataBytes.Length;
wr.Method = "POST";
wr.ContentType = "application/x-www-form-urlencoded";
try
{
var dataStream = wr.GetRequestStream();
dataStream.Write(dataBytes, 0, dataBytes.Length);
dataStream.Close();
wr.GetResponse();
return true;
}
catch (WebException ex)
{
if ((int)((HttpWebResponse)ex.Response).StatusCode == 403)
{
return false;
}
return false;
}