just4froum
سه شنبه 17 مرداد 1391, 15:48 عصر
با سلام به همگی :
دیدم خیلی از دوستان دنبال Connect شدن به سرور HTTPS یا همون Soc ks هستند گفتم نحوه این کار رو برای دوستان بگذارم.
توجه : من تمامی این مراحل را خودم بدست آوردم و از منابع معتبری نخوندم پس امکان هر گونه اشتباه در آن هست پس درصورت مشاهده خواهشا اطلاع دهید تا متن را درست کنم و اشتباه آموزش ندهم.
برای کار با ابزار Winsock و متصل شدن به سرور ساکس باید اطلاعاتی راجع به Header داشته باشید پس در صورت نیاز می توانید به این صفحه مراجعه کنید (http://barnamenevis.org/showthread.php?124416-%D9%81%D8%B1%D8%B3%D8%AA%D8%A7%D8%AF%D9%86-%D9%85%D9%82%D8%A7%D8%AF%DB%8C%D8%B1-%D8%A8%D9%87-%D8%B3%D8%A7%DB%8C%D8%AA-(%DA%A9%D8%A7%D9%85%D9%84)) که جناب r0ot$harp به خوبی توضیح داده اند.(خود من هم از این پست یاد گرفتم)
خوب میریم سراغ مبحث اصلی :
1 - برای کانکت شدن به سرور HTTPS ابتدا باید Address و Port آن سرور را داشته باشید.
2 - با وینسوک به آن Address و Port متصل شوید. مانند :
Winsock1.Connect "Address", Port
البته فراموش نکنید که برای کانکت شدن ابتدا باید وینسوک در حالت Close قرار داشته باشد.
3 - منتظر بمانید تا وینسوک به سرور متصل شود و وقتی متصل شد آدرس مقصدی را که می خواهیم به آن توسط سرور HTTPS هیدر ارسال کنیم همراه با پورت برای سرور می فرستیم. (فرض Google.com) :
Private Sub Winsock1_Connect()
Dim Header As String
Header = "CONNECT google.com:80 HTTP/1.1" & vbCrLf
Header = Header & "Host: google.com" & vbCrLf & vbCrLf
Winsock1.SendData Header
End Sub
تذکر : در خط اول فراموش نکنید که پورت (80) رو همراه با آدرس (google.com) بفرستید
سپس منتظر میمانیم تا سرور به هیدر ما پاسخ دهد که پاسخی مانند زیر می دهد:(اگر سرور به درستی کار کنتد)
HTTP/1.0 200 Connection established
این یعنی سرور آمادست تا درخواستمون رو براش بفرستیم(به عنوان مثال ما همون هیدر که در پست بالا معرفی کردم رو می فرستیم) :
Dim Header As String
Header = "GET /search?hl=en&q=barnamenevis.org&btnG=Google+Search&aq=f&oq= HTTP/1.1" & vbCrLf
Header = Header & "Host: www.google.com" & vbCrLf
Header = Header & "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1" & vbCrLf
Header = Header & "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & vbCrLf
Header = Header & "Accept-Language: en-US" & vbCrLf
Header = Header & "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7" & vbCrLf
Header = Header & "Keep-Alive: 300" & vbCrLf
Header = Header & "Connection: keep-alive" & vbCrLf
Header = Header & "Referer: http://www.google.com/" & vbCrLf & vbCrLf
Winsock1.SendHeader Header
و سپس منتظر نتیجش می مونیم. نتیجه ای که برای ما فرستاده میشه از طریق سرور HTTPS هست یعنی ما با موفقیت به سرور HTTPS وصل شده با آن سرور در گوگل یک چیزی رو سرچ کردیم و نتیجرو گرفتیم به همین راحتی.
امیدوارم این مقاله مفید واقع بشه
دیدم خیلی از دوستان دنبال Connect شدن به سرور HTTPS یا همون Soc ks هستند گفتم نحوه این کار رو برای دوستان بگذارم.
توجه : من تمامی این مراحل را خودم بدست آوردم و از منابع معتبری نخوندم پس امکان هر گونه اشتباه در آن هست پس درصورت مشاهده خواهشا اطلاع دهید تا متن را درست کنم و اشتباه آموزش ندهم.
برای کار با ابزار Winsock و متصل شدن به سرور ساکس باید اطلاعاتی راجع به Header داشته باشید پس در صورت نیاز می توانید به این صفحه مراجعه کنید (http://barnamenevis.org/showthread.php?124416-%D9%81%D8%B1%D8%B3%D8%AA%D8%A7%D8%AF%D9%86-%D9%85%D9%82%D8%A7%D8%AF%DB%8C%D8%B1-%D8%A8%D9%87-%D8%B3%D8%A7%DB%8C%D8%AA-(%DA%A9%D8%A7%D9%85%D9%84)) که جناب r0ot$harp به خوبی توضیح داده اند.(خود من هم از این پست یاد گرفتم)
خوب میریم سراغ مبحث اصلی :
1 - برای کانکت شدن به سرور HTTPS ابتدا باید Address و Port آن سرور را داشته باشید.
2 - با وینسوک به آن Address و Port متصل شوید. مانند :
Winsock1.Connect "Address", Port
البته فراموش نکنید که برای کانکت شدن ابتدا باید وینسوک در حالت Close قرار داشته باشد.
3 - منتظر بمانید تا وینسوک به سرور متصل شود و وقتی متصل شد آدرس مقصدی را که می خواهیم به آن توسط سرور HTTPS هیدر ارسال کنیم همراه با پورت برای سرور می فرستیم. (فرض Google.com) :
Private Sub Winsock1_Connect()
Dim Header As String
Header = "CONNECT google.com:80 HTTP/1.1" & vbCrLf
Header = Header & "Host: google.com" & vbCrLf & vbCrLf
Winsock1.SendData Header
End Sub
تذکر : در خط اول فراموش نکنید که پورت (80) رو همراه با آدرس (google.com) بفرستید
سپس منتظر میمانیم تا سرور به هیدر ما پاسخ دهد که پاسخی مانند زیر می دهد:(اگر سرور به درستی کار کنتد)
HTTP/1.0 200 Connection established
این یعنی سرور آمادست تا درخواستمون رو براش بفرستیم(به عنوان مثال ما همون هیدر که در پست بالا معرفی کردم رو می فرستیم) :
Dim Header As String
Header = "GET /search?hl=en&q=barnamenevis.org&btnG=Google+Search&aq=f&oq= HTTP/1.1" & vbCrLf
Header = Header & "Host: www.google.com" & vbCrLf
Header = Header & "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1" & vbCrLf
Header = Header & "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & vbCrLf
Header = Header & "Accept-Language: en-US" & vbCrLf
Header = Header & "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7" & vbCrLf
Header = Header & "Keep-Alive: 300" & vbCrLf
Header = Header & "Connection: keep-alive" & vbCrLf
Header = Header & "Referer: http://www.google.com/" & vbCrLf & vbCrLf
Winsock1.SendHeader Header
و سپس منتظر نتیجش می مونیم. نتیجه ای که برای ما فرستاده میشه از طریق سرور HTTPS هست یعنی ما با موفقیت به سرور HTTPS وصل شده با آن سرور در گوگل یک چیزی رو سرچ کردیم و نتیجرو گرفتیم به همین راحتی.
امیدوارم این مقاله مفید واقع بشه