Delphi7_love
شنبه 22 آذر 1393, 22:18 عصر
سلام
من یه کد سی شارپ دارم که یه مقدار به یه آدرس ارسال میکنه و یه مقدار دریافت میکنه و حالا بنا به دلایلی باید به دلفی تبدیلش کنم
دوستان لطفا راهنمایی کنید
public string ConnectToServer(string ActivationCode, string HardId, int Check, string Name = "", string Tell = "", string Email = "")
{
Uri address=new Uri("http://updateeset.ir//api.php?check=1&name=reza&tell=000&activation=0000&hddid=55255522252255" );
HttpWebRequest request;
HttpWebResponse response = null;
StreamReader reader;
StringBuilder sbSource;
if (address == null) { throw new ArgumentNullException("address"); }
try
{
request = WebRequest.Create(address) as HttpWebRequest;
request.UserAgent = ".NET Sample";
request.KeepAlive = false;
request.Timeout = 15000;
response = request.GetResponse() as HttpWebResponse;
if (request.HaveResponse == true && response != null)
{
reader = new StreamReader(response.GetResponseStream());
sbSource = new StringBuilder(reader.ReadToEnd());
return sbSource.ToString();
}
}
catch (WebException wex)
{
if (wex.Response != null)
{
using (HttpWebResponse errorResponse = (HttpWebResponse)wex.Response)
{
return errorResponse.ToString();
}
}
}
finally
{
if (response != null) { response.Close(); }
}
return "";
}
}
البته تا یه جایی پیش رفتم ولی مقدار خالی برگشت داده میشه، لطفا بررسی کنید مشکل کار کجاست
procedure THttpTestForm.Button1Click(Sender: TObject);
var
Response: TStringStream;
s:string;
Params: TStringList;
begin
Params := TStringList.Create;
try
Params.Add('check=1');
Params.Add('&name=' );
Params.Add('&tell=' );
Params.Add('&activation=33243252' );
Params.Add('&hddid=123456789' );
IdHTTPTest.Request.UserAgent:='.NET Sample';
IdHTTPTest.Request.BasicAuthentication:=false;
Response := TStringStream.Create('');
try
IdHTTPTest.POST('http://updateeset.ir//api.php',Params, Response);
memo1.Text := Response.DataString;
except
on E: Exception do
begin
showmessage('Error: ' + E.Message);
end;
end;
finally
Params.Free;
Response.Free;
end;
end;
من یه کد سی شارپ دارم که یه مقدار به یه آدرس ارسال میکنه و یه مقدار دریافت میکنه و حالا بنا به دلایلی باید به دلفی تبدیلش کنم
دوستان لطفا راهنمایی کنید
public string ConnectToServer(string ActivationCode, string HardId, int Check, string Name = "", string Tell = "", string Email = "")
{
Uri address=new Uri("http://updateeset.ir//api.php?check=1&name=reza&tell=000&activation=0000&hddid=55255522252255" );
HttpWebRequest request;
HttpWebResponse response = null;
StreamReader reader;
StringBuilder sbSource;
if (address == null) { throw new ArgumentNullException("address"); }
try
{
request = WebRequest.Create(address) as HttpWebRequest;
request.UserAgent = ".NET Sample";
request.KeepAlive = false;
request.Timeout = 15000;
response = request.GetResponse() as HttpWebResponse;
if (request.HaveResponse == true && response != null)
{
reader = new StreamReader(response.GetResponseStream());
sbSource = new StringBuilder(reader.ReadToEnd());
return sbSource.ToString();
}
}
catch (WebException wex)
{
if (wex.Response != null)
{
using (HttpWebResponse errorResponse = (HttpWebResponse)wex.Response)
{
return errorResponse.ToString();
}
}
}
finally
{
if (response != null) { response.Close(); }
}
return "";
}
}
البته تا یه جایی پیش رفتم ولی مقدار خالی برگشت داده میشه، لطفا بررسی کنید مشکل کار کجاست
procedure THttpTestForm.Button1Click(Sender: TObject);
var
Response: TStringStream;
s:string;
Params: TStringList;
begin
Params := TStringList.Create;
try
Params.Add('check=1');
Params.Add('&name=' );
Params.Add('&tell=' );
Params.Add('&activation=33243252' );
Params.Add('&hddid=123456789' );
IdHTTPTest.Request.UserAgent:='.NET Sample';
IdHTTPTest.Request.BasicAuthentication:=false;
Response := TStringStream.Create('');
try
IdHTTPTest.POST('http://updateeset.ir//api.php',Params, Response);
memo1.Text := Response.DataString;
except
on E: Exception do
begin
showmessage('Error: ' + E.Message);
end;
end;
finally
Params.Free;
Response.Free;
end;
end;