سلام
تو یکی از برنامه هام نیاز دارم به کد های اچ تی ام ال صفحه هاتی که باهاشون کار دارم
با استفاده از کامپونت Microsoft internet transfer Control 6.0 خیلی راحت میشه به سورس ها رسید
فقط مشکل اینجاست که مواقعی که صفحه ی مورد نظر بخواد از کوکی ها برداشت کنه دیگه نمی تونه کد ها رو لود کونه
حالا سوالم اینه که چه راهی برا حل این مشکل هست ؟؟
یه چیزایی به فکر خودم رسید اما نمی دونم اصلا شدنی هست یا نه یعنی روشش رو نمی دونم
مثلا این که موقع لود کردن متغییر هایی که لازم داره رو از تو کوکی در بیارم و با استفاده از برنامه اون رو یجوری که واقعا نمی دونم چطوری براش بفرستم
کسی نمی تونه کمکی کونه ??
کسی لینک Rfc برا Http نداره ؟؟
_HoseiN_ نوشته است:تو یکی از برنامه هام نیاز دارم به کد های اچ تی ام ال صفحه هاتی که باهاشون کار دارم
با استفاده از کامپونت Microsoft internet transfer Control 6.0 خیلی راحت میشه به سورس ها رسید
من پستت رو کامل نخوندم اما میخواستم بگم چرا اصلا از Microsoft Internet Controls استفاده میکنی برای بدست سورس صفحه؟
با توابع ای پی آی هم میشه سورس صفحه رو بدست آورد خیلی راحتتر
خوب دلیل اولی این که صورعت internet transfer بیشتر
دومی هم اینکه نمی دونستم تابعی هست که بشه باهاش سورس از internet contorol گرفت
اگر تابع رو معرفی کنین ممنون میشم
سلام شما میتونی از کد زیر بصورت یه تابع داخل پروژتون استفاده کنید بدون نیاز به Internet Controls امیدوارم کارت رو راه بندازه ! یا علی
کد:
Option Explicit
Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal sURL As String, ByVal sHeaders As String, ByVal lHeadersLength As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long
Private Declare Function InternetReadFile Lib "wininet.dll" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer
Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer
Private Const IF_FROM_CACHE = &H1000000
Private Const IF_MAKE_PERSISTENT = &H2000000
Private Const IF_NO_CACHE_WRITE = &H4000000
Private Const BUFFER_LEN = 256
'-----------------------------------------------------------------------------------
Private Function GetUrlSource(sURL As String) As String
Dim sBuffer As String * BUFFER_LEN, iResult As Integer, sData As String
Dim hInternet As Long, hSession As Long, lReturn As Long
hSession = InternetOpen("vb wininet", 1, vbNullString, vbNullString, 0)
If hSession Then hInternet = InternetOpenUrl(hSession, sURL, vbNullString, 0, IF_NO_CACHE_WRITE, 0)
If hInternet Then
iResult = InternetReadFile(hInternet, sBuffer, BUFFER_LEN, lReturn)
sData = sBuffer
Do While lReturn <> 0
iResult = InternetReadFile(hInternet, sBuffer, BUFFER_LEN, lReturn)
sData = sData + Mid(sBuffer, 1, lReturn)
Loop
End If
iResult = InternetCloseHandle(hInternet)
GetUrlSource = sData
End Function
آرش جان ممنون بخاطر این کد
خیلی بی انصافی هست که بگم این کد کارم رو راه نمی اندازه اما راستش من نیاز دارم کوکی ها ای که تو سیستم هست و از قبل با ثبت نام تو سایت مورد نظر درست شده رو بتونم برا آدرسی که می خوام لودش کنم بفرستم
اگر کسه دیگه ای هم روشی به ذهنش میرسه که بشه باهاش متغییر های کوکی رو برا سایت فرستاد خوشحال میشم بگه
حسین جان این کار امکان داره ولی هر سایتی از یکسری متغیرها با نامهای گوناگون استفاده میکنه که باید اونا رو بدونی و معمولا هم با استفاده از تگ FORM این کار انجام میشه و برای انجام این کار اگه از همون Companentی که آرش جان گفت استفاده کنی کارت خیلی راحت میشه
بچه ها کسی نمی دونه Session که بعد از لوگین درست میشه رو چطور می تونم ازش تو این کد استفاده کنم ؟؟
چون میدونید که اگر حتی مثلا پنجره اینترنت اکسپلورر بسته بشه و اون لینک رو بزنید مجبورید دوباره لوگین کنید
نمیشه از طرق این کد لوگین کرد که برا خودش یک جلسه داشته باشه ؟؟؟ یا اینکه یک بار لوگین کنه بعد اون جلسه ساخته شود رو تو یک جا نگه داره که هربار نیاز به لگین نباشه
ببخشید پریدم وسط، من میخواستم یک تاپیک جدید برای سوالم بسازم ولی احساس کردم که شماها بهتر میتونید به سوال به جواب بدید. سوال من اینه :
آیا کامپوننتی یا ocx ای هست که من توی Visual Basic نصب کنم و امکان ارسال یک فایل رو از کامپیوترم به هاست اینترنتیم فراهم کنه ؟
البته من اینکارو با Inet کردم. با قسمت ftp اون ولی یکی اینکه باید پسورد بدیم بهش و دیگری اینکه قابل اعتماد نیست. و یه بار کار میکنه و بار دیگه نه.
راهی هست ؟ ممنون