امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
تبدیل کد های جایگزین Winsock1 از VB به دلفی
نویسنده پیام
IISecurity.C آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 245
موضوع‌ها: 41
تاریخ عضویت: بهمن ۱۳۸۶

تشکرها : 70
( 270 تشکر در 112 ارسال )
ارسال: #1
تبدیل کد های جایگزین Winsock1 از VB به دلفی
سلام بچه ها من یه تازه کارم قبل باز کردن تاپیک خیلی ور رفتم ولی نشد احتیاج به کمک و مساعدت شما دارم

توی VB به :
نقل قول: Private Sub Command2_Click()
If Text1 = "" Then
MsgBox "Lotfan yek file entekhab konid", vbInformation, "NoFile"
Else
Winsock1.Close
Winsock1.Connect "ُSite.com", 80
جایگزین این کدها توی دلفی چی میشه !! و به جای Winsock1 توی وی بی در دلفی از چی استفاده کنیم .
و جای این کدهای Winsock1 :
نقل قول: Private Sub Winsock1_Connect()
Dim Pck As String
Pck = "POST /upload.php HTTP/1.0" & vbCrLf
Pck = Pck & "Referer: http://www.Site.com" & vbCrLf
Pck = Pck & "Accept-Language: en-us" & vbCrLf
Pck = Pck & "Content-Type: multipart/form-data; boundary=---------------------------7d836b2120232" & vbCrLf
Pck = Pck & "Host: www.Site.com" & vbCrLf
Pck = Pck & "Content-Length: " & Len(dFile) + 1224 & vbCrLf
Pck = Pck & "Connection: Keep-Alive" & vbCrLf
Pck = Pck & "Pragma: no-cache" & vbCrLf & vbCrLf
Pck = Pck & "-----------------------------7d836b2120232" & vbCrLf
Pck = Pck & "Content-Disposition: form-data; name=""type""" & vbCrLf & vbCrLf
Pck = Pck & "direct" & vbCrLf
Pck = Pck & "-----------------------------7d836b2120232" & vbCrLf
Pck = Pck & "Content-Disposition: form-data; name=""userfile[]""" & "; filename=""" & CommonDialog1.FileName & """" & vbCrLf
Pck = Pck & "Content-Type: application/octet-stream" & vbCrLf & vbCrLf
Pck = Pck & dFile & vbCrLf
Pck = Pck & "-----------------------------7d836b2120232" & vbCrLf
Pck = Pck & "Content-Disposition: form-data; name=""userfile[]""; filename=""""" & vbCrLf
Pck = Pck & "Content-Type: application/octet-stream" & vbCrLf & vbCrLf & vbCrLf
Pck = Pck & "-----------------------------7d836b2120232" & vbCrLf
Pck = Pck & "Content-Disposition: form-data; name=""userfile[]""; filename=""""" & vbCrLf
Pck = Pck & "Content-Type: application/octet-stream" & vbCrLf & vbCrLf & vbCrLf
Pck = Pck & "-----------------------------7d836b2120232" & vbCrLf
Pck = Pck & "Content-Disposition: form-data; name=""userfile[]""; filename=""""" & vbCrLf
Pck = Pck & "Content-Type: application/octet-stream" & vbCrLf & vbCrLf & vbCrLf
Pck = Pck & "-----------------------------7d836b2120232" & vbCrLf
Pck = Pck & "Content-Disposition: form-data; name=""userfile[]""; filename=""""" & vbCrLf
Pck = Pck & "Content-Type: application/octet-stream" & vbCrLf & vbCrLf & vbCrLf
Pck = Pck & "-----------------------------7d836b2120232" & vbCrLf
Pck = Pck & "Content-Disposition: form-data; name=""private""" & vbCrLf & vbCrLf
Pck = Pck & "0" & vbCrLf
Pck = Pck & "-----------------------------7d836b2120232" & vbCrLf
Pck = Pck & "Content-Disposition: form-data; name=""x""" & vbCrLf & vbCrLf
Pck = Pck & "0" & vbCrLf
Pck = Pck & "-----------------------------7d836b2120232" & vbCrLf
Pck = Pck & "Content-Disposition: form-data; name=""y""" & vbCrLf & vbCrLf
Pck = Pck & "0" & vbCrLf
Pck = Pck & "-----------------------------7d836b2120232--" & vbCrLf
Winsock1.SendData Pck
Text3 = ""
Label2.Caption = "Lotfan Montazer bemanid..."
End Sub
که در صورت عدم کارائی دستور داده شده به برنامه :
نقل قول: Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim Data As String
Winsock1.GetData Data
If InStr(Data, """></td><td>Direct</td></tr>") > 0 Then
Text2 = Split(Split(Split(Data, """></td><td>Direct</td></tr>")(0), "</td><td>Mail File</td></tr>")(1), "name=""option"" value=""")(1)
Label2.Caption = "Upload Ba Movafaghiyat anjam shod."
MsgBox "Upload Ba Movafaghiyat anjam shod.", vbInformation, "OK"
End If
If InStr(Data, "General Error!") > 0 Then
Label2.Caption = "Upload Anjam nashod!!!"
میاد . جایگزین این کدها توی دلفی چی میشه .

امیدوارم دوستان و مدیران محترم وقت بکنند به من کمک کنند . خیلی مهمه برام (اول راهم)

پیشاپیش از همه دوستان کمال تشکر را دارمHeart
(آخرین ویرایش در این ارسال: ۲۰-اسفند-۱۳۸۶, ۲۲:۳۳:۱۵، توسط IISecurity.C.)
۲۰-اسفند-۱۳۸۶, ۲۲:۳۲:۰۰
ارسال‌ها
پاسخ
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #2
RE: تبدیل کد های جایگزین Winsock1 از VB به دلفی
تو دلفی بخشهای winsock تخصصی تر شده و به صورت مجموعه کامپوننتهای indy در اومده شما برای ارتباط با صفحات وب باید از کامپوننت idhttp استفاده کنین به مثال زیر توجه کنین
مقدار ARequestContent مربوط به اطلاعاتی میباشد که بعد از ارسال اصلاعات اولیه به صفحه وب از طرف سرور برگشت داده میشود.
IdHTTPTest.Post('http://AWebSite.com/login.php', ARequestContent);
در idhttp دو متد بنام getو post وجود داره که برای ارسال اطلاعات به صفحه مورد نظره در حالت get چون احتمال لو رفتن اطلاعات زیاد بود دیگه کاربردی نداره و معمولا از متد post استفاده میشه مقداری که در متد post قرار داره رو میتونین تو سورس صفحه مورد نظر و بخش action که به سرور میگه با اطلاعات چه کاری انجام بده استفاده میکنین
ARequestContent.Add در این بخش اطلاعاتی که باید توسط سرور پردازش بشه یا کاری روش انجام بشه قرار میگیره مثال زیر نمونه یه برنامه هست که خودش عمل login شدن به یه سایت رو برای شما انجام میده شما با تغییر این کدها به مقادیر مورد نظرتون میتونین به هدفتون برسین
موفق باشید
کد:
unit HttpTestFormU;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
  IdTCPClient, IdHTTP;

type
  THttpTestForm = class(TForm)
    IdHTTPTest: TIdHTTP;
    edName: TEdit;
    edPass: TEdit;
    btSend: TButton;
    procedure btSendClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  HttpTestForm: THttpTestForm;

implementation

{$R *.dfm}

procedure THttpTestForm.btSendClick(Sender: TObject);
var
  ARequestContent : TStringList;
  AResponse: String;
begin
  ARequestContent := TStringList.Create;
  try
    ARequestContent.Add('username=' + edName.Text);
    ARequestContent.Add('password=' + edPass.Text);
    AResponse := IdHTTPTest.Post('http://AWebSite.com/login.php', ARequestContent);
    ....
  finally
    ARequestContent.Free;
  end;
end;

end.
۲۱-اسفند-۱۳۸۶, ۰۰:۲۲:۳۶
وب سایت ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Question [سوال] ساخت EDITOR مانند دلفی hameds606 3 1,463 ۱۱-خرداد-۱۳۹۸, ۱۰:۰۷:۲۳
آخرین ارسال: lord_viper
  دریافت اطلاعات از سخت افزار در دلفی m59alizadeh 6 7,169 ۰۶-آذر-۱۳۹۵, ۱۳:۰۱:۴۹
آخرین ارسال: lord_viper
  تبدیل چارت به الگوریتم Majid_Ebru 0 1,771 ۰۱-مهر-۱۳۹۵, ۱۰:۴۱:۲۱
آخرین ارسال: Majid_Ebru
  تبدیل کد به دلفی The.Ghost 2 3,691 ۱۶-فروردین-۱۳۹۴, ۲۲:۱۵:۰۴
آخرین ارسال: veyskarami
  ارسال ایمیل با دلفی h_mohamadi 13 10,453 ۱۴-آبان-۱۳۹۳, ۱۸:۰۰:۴۳
آخرین ارسال: babyy
  فیلم آموزش مدیریت استثنائات در دلفی بهروز عباسی 2 3,152 ۳۰-مرداد-۱۳۹۳, ۱۵:۵۳:۰۸
آخرین ارسال: veyskarami
  [سوال] ریجستری در دلفی spase 2 3,045 ۱۸-خرداد-۱۳۹۳, ۱۵:۵۶:۴۷
آخرین ارسال: veyskarami
  کامپوننت ترد در دلفی hesarkhani 2 3,701 ۰۲-اردیبهشت-۱۳۹۳, ۲۲:۰۸:۴۵
آخرین ارسال: The.Ghost
  سورس دلفی lord_viper 46 58,074 ۰۹-دى-۱۳۹۲, ۱۹:۳۸:۳۳
آخرین ارسال: بهروز عباسی
  [آموزشی] 6700 نکته و کد دلفی lord_viper 0 2,940 ۰۴-دى-۱۳۹۲, ۱۰:۰۴:۳۱
آخرین ارسال: lord_viper

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS