2016-06-17 20 views
-1

私は初心者です。コードはphpで書かれていますが、私はasp.netを使ってそのapi.phpを呼び出す必要があります。それを行う... JSONで戻り値POSTメソッドを使用してasp.net Webページを使用してphp apiを呼び出す方法

+0

でWebRequestクラスあなたはクライアント側(ジャバスクリプト)から、PHPやサーバ側から(C#)を呼び出すようにしたいですか? – Dexion

+0

REST APIが言語に依存しないため、より具体的な詳細を追加してください。 json_encode/json_decodeのような関数を使用してPOSTリクエストを送信することができます。 – Shubhamoy

+0

@ dexion:私はC#のサーバーコードが必要です...私はユーザー名とパスワードを使用してログインしようとしているasp.net nで設計されたUIを持っていることを明確にしましょう..私はPHPで書かれたAPIを接続する必要が.. ..値エンコードJSONを使用して値を返す.So help me out – MNC

答えて

0

をasp.netでエンコードしてデコードする必要があるポストメソッドがあるので、asp curl関数またはhttpメソッドを使用してphp apiを呼び出すことができます。 HttpRequestので

using (var wb = new WebClient()) 
{ 
    var data = new NameValueCollection(); 
    data["n"] = "42"; 
    data["s"] = "string value"; 

    var response = wb.UploadValues("http://www.domain.org/receiver.aspx", "POST", data); 
} 

:WebClientので

[HttpPost] 
public Boolean PostDataToDB(int n, string s) 
{ 
    //validate and write to database 
    return false; 
} 

あなたは異なるapprochesを使用することができます。サーバー側でこのコードの例

HttpClientをして
var request = (HttpWebRequest)WebRequest.Create("http://www.domain.org/receiver.aspx"); 

var postData = "n=42&s=string value"; 
var data = Encoding.ASCII.GetBytes(postData); 

request.Method = "POST"; 
request.ContentType = "application/x-www-form-urlencoded"; 
request.ContentLength = data.Length; 

using (var stream = request.GetRequestStream()) 
{ 
    stream.Write(data, 0, data.Length); 
} 

var response = (HttpWebResponse)request.GetResponse(); 
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); 

using (var client = new HttpClient()) 
{ 
    var values = new List<KeyValuePair<string, string>>(); 
    values.Add(new KeyValuePair<string, int>("n", "42")); 
    values.Add(new KeyValuePair<string, string>("s", "string value")); 

    var content = new FormUrlEncodedContent(values); 

    var response = await client.PostAsync("http://www.domain.org/receiver.aspx", content); 

    var responseString = await response.Content.ReadAsStringAsync(); 
} 

WebRequest request = WebRequest.Create ("http://www.domain.org/receiver.aspx"); 
request.Method = "POST"; 
string postData = "n=42&s=string value"; 
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(); 

//Response 
WebResponse response = request.GetResponse(); 
Console.WriteLine (((HttpWebResponse)response).StatusDescription); 
dataStream = response.GetResponseStream(); 
StreamReader reader = new StreamReader (dataStream); 
string responseFromServer = reader.ReadToEnd(); 
Console.WriteLine (responseFromServer); 
reader.Close(); 
dataStream.Close(); 
response.Close(); 
+0

api.phpを押す必要があるJSON形式の値、つまりユーザー名とパスワードを受け取って、これらの値をUIに入力された値と比較する必要があります。一致したら、他のページに移動する必要があります。 php 2)JSonの値をUIの値と比較する成功してから次のページにナビゲートする – MNC

関連する問題