Я пытаюсь передать параметры Web-сервиса C # в PHP-приложение, но ниже не вижу моего кода. На самом деле я передаю имя пользователя и пароль в формате xml, потому что ни один собеседник не должен видеть эти учетные данные во время передачи.
Ниже мой веб-сервис на C #, использующий нажатие кнопки веб-формы asp.net для перенаправления PHP-приложения.
[WebMethod]
public string POSTXml(string username, string password)
{
WebRequest req = null;
WebResponse rsp = null;
try
{
StringBuilder strRequest = new StringBuilder();
string url = "http://xyz.in/getuser.php/";
req = WebRequest.Create(url);
req.Method = "POST";
req.ContentType = "text/xml";
StreamWriter writer = new StreamWriter(req.GetRequestStream());
writer.WriteLine(username,password);
writer.Close();
rsp = req.GetResponse();
var sr = new StreamReader(rsp.GetResponseStream());
string responseText = sr.ReadToEnd();
return responseText;
}
catch (Exception e)
{
throw new Exception("There was a problem sending the message");
}
}
Ниже мой код нажатия кнопки.
protected void Button2_Click(object sender, EventArgs e)
{
localhost.WebService objserv1 = new localhost.WebService();
Label.Text = objserv1.POSTXml("nagapavani", "tech@1234");}
На самом деле, когда пользователь нажимает кнопку, передавая некоторые значения в веб-сервис и через веб-сервис, хотите передать это значение в приложение php. Есть ли другой способ достичь этого требования. Когда я собираюсь нажать кнопку не собираюсь перенаправить и взял этот код из Google.
Вы можете отправить данные следующим образом. Преобразуйте его в байтовый массив и запишите в поток запросов:
[WebMethod]
public string POSTXml(string username, string password)
{
WebRequest req = null;
WebResponse rsp = null;
try
{
string data = "user=" + username + "&password=" + password;
string url = "http://xyz.in/getuser.php/";
byte[] buffer = Encoding.ASCII.GetBytes(data);
HttpWebRequest WebReq = (HttpWebRequest)WebRequest.Create(url);WebReq.Method = "POST";
WebReq.ContentType = "application/x-www-form-urlencoded";
WebReq.ContentLength = buffer.Length;
using (Stream PostData = WebReq.GetRequestStream())
{
PostData.Write(buffer, 0, buffer.Length);
HttpWebResponse WebResp = (HttpWebResponse)WebReq.GetResponse();
using (Stream stream = WebResp.GetResponseStream())
{
using (StreamReader strReader = new StreamReader(stream))
{
return strReader.ReadToEnd();
}
}
WebResp.Close();
}
}
catch (Exception e)
{
throw new Exception("There was a problem sending the message");
}
return String.Empty;
}
Других решений пока нет …