وبلاگ تخصصي برنامه نويسي با VB

آشنايي با RAS API و WinInet API – بخش دوم


آشنايي با WinInet API :

WinInet API مجموعه ای از توابع است که امکان ايجاد و توسعه برنامه های اينترنتی را بصورتی ساده ، سريع و کارآمد برای برنامه نويسان مهيا می کند . با استفاده از اين مجموعه توابع شما می توانيد برنامه هايي بنويسيد که از منابع اينترنتی با استفاده از پروتکلهايي چون HTTP و FTP استفاده کنند . همچنين WinInet به شما اجازه می دهد تا بتوانيد ارتباطی dial-up با يک ISP ايجاد نموده و آنرا کنترل کنيد .
مزيـت اصلی توابع WinInet آينست که شما نيازی به دانستن ساختار پروتکلهای ارتباطی و نيز برنامه نويسی Socket نخواهيد داشت . بعبارت ديگر WinInet يک واسط سطح بالا را برای کار با منابع اينترنتی ارائه می دهد .

امکانات Dial-Up موجود در WinInet :

تا قبل از ارائه اينترنت اکسپلورر ورژن 4 ، WinInet تنها دارای دو تابع dial-up بود :

تابع InternetAttemptConnect : برای بررسی اينکه آيا يک ارتباط به اينترنت وجود دارد يا نه استفاده می شد . اگر هيچ اتصالی به اينترنت وجود نداشت اين برنامه کادر تبادلی dial-up networking را نمايش می داد و کاربر اجازه داشت تا يک اتصال را برای وصل شدن به اينترنت انتخاب کند .

تابع InternetCheckConnection : تابع با استفاده از انجام يک دستور ping به url ای که به تابع داده شده ، بررسی می کرد که آيا ارتباطی به اينترنت وجود دارد يا نه .

اين دو تابع دارای محدوديتهای فراوانی بودند . برای مثال تابع اول نمی تواند بطور  اتوماتيک اتصال به اينترنت را برقرار کند و تابع دوم نيز نمی تواند هيچ اطلاعاتی در مورد نوع ارتباط به ما بدهد .

IE نسخه 4 ، تعدادی تابع جديد برای WinInet معرفی کرد که برخی از آنها عبارتند از :

تابع InternetGetConnectedState : اطلاعاتی در مورد نوع ارتباط استفاده شده را بيان می کند . برای مثال اين تابع اطلاع می دهد که نوع ارتباط به اينترنت از طريق مودم است يا شبکه LAN و يا از طريق پروکسی .

تابع InternetAutodial : اين امکان را فراهم می سازد تا يک ارتباط اينترنتی اتوماتيک از طريق مودم  را با استفاده از مدخل اتصال پيش فرض که کاربر آنرا در dial-up networking  مشخص کرده ايجاد کنيد .

تابع InternetDial : اين تابع کارآمدتر از تابع InternetAutodial است و کادری را نمايش می دهد که کاربر می تواند نوع مدخل مورد نظر خود برای ارتباط تلفنی با اينترنت را انتخاب کند .

تابع InternetAutodialHangup : برای قطع کردن اتصالی مودمی که از طريق تابع  InternetAutodial برقرار شده استفاده می شود .

تابع InternetHangUp : برای قطع کردن اتصالی مودمی که از طريق تابع InternetDialبرقرار شده استفاده می شود .

تابع InternetSetDialState : برای تنظيم کردن وضعيت جاری ارتباط اينترنتی استفاده می شود .

در قسمت بعدی اين سلسه مباحث جزئيات اين توابع را بررسی کرده و نهايتاً برنامه ای کاربردی برای کار با اين توابع در ويژوال بيسيک ارائه خواهم داد .

اطلاعات بيشتری در مورد WinInet :

در اين بخش ما تنها توابع dial-up موجود در WinInet API را بررسی کرديم اما همانطور که در ابتدا گفته شد WinInet دارای امکانات فراوانی در زمينه کار با اينترنت است . برای آشنايي بيشتر با اين امکانات در زير جداولی ارائه شده که به اختصار امکانات مختلف اين مجموعه تابع را نشان می دهد :

توابع Dial-Up :  

Name

Description

InternetGetConnectedState

Retrieves the current state of the Internet connection

InternetAutodial

Initiates an unattended dial-up connection

InternetAutodialHangup

Disconnects a modem connection initiated by

InternetDial

Initiates a dial-up connection

InternetHangUp

Disconnects a modem connection initiated by InternetDial

InternetGoOnline

Prompts the user for permission to initiate a dial-up connection to the given URL

InternetSetDialState

Sets the current state of the Internet connection

توابع عمومی اينترنت :

Name

Description

InternetOpen

Initializes the Win32 Internet functions

InternetConnect

Opens an FTP, Gopher, or HTTP session for a given site

InternetCloseHandle

Closes a single Internet handle or a subtree of Internet handles

InternetErrorDlg

Displays a dialog box for the error that is passed to InternetErrorDlg

InternetFindNextFile

Continues a file search started as a result of a previous call to FtpFindFirstFile or GopherFindFirstFile

InternetGetLastResponseInfo

Retrieves the last Win32 Internet function error description or server response on the thread calling this function

InternetLockRequestFile

Allows the user to place a lock on the file being used

InternetQueryDataAvailable

Queries the amount of data available

InternetQueryOption

Queries an Internet option on the specified handle

InternetReadFile

Reads data from a handle opened by the InternetOpenURL, FtpOpenFile, GopherOpenFile, or HttpOpenRequest function

InternetReadFileEx

Reads data from a handle opened by the InternetOpenURL, FtpOpenFile, GopherOpenFile, or HttpOpenRequest function

InternetSetFilePointer

Sets a file position for InternetReadFile

InternetSetOption

Sets an Internet option

InternetSetStatusCallback

Sets up a callback function that Win32 Internet functions can call as progress is made during an operation

InternetStatusCallback

Placeholder for the application-defined status callback function

InternetTimeFromSystemTime

Formats a date and time according to the specified RFC format (as specified in the HTTP version 1.0 specification)

InternetTimeToSystemTime

Takes an HTTP time/date string and converts it to a SYSTEMTIME structure

InternetUnlockRequestFile

Unlocks a file that was locked using InternetLockRequestFile

InternetWriteFile

Writes data to an open Internet file

InternetConfirmZoneCrossing

Checks for changes between secure and nonsecure URLs

توابع URL :

Name

Description

InternetCanonicalizeUrl

Canonicalizes a URL, which includes converting unsafe characters and spaces into escape sequences.

InternetCombineUrl

Combines a base and relative URL into a single URL. The resultant URL will be canonicalized.

InternetCrackUrl

Cracks a URL into its component parts.

InternetCreateUrl

Creates a URL from its component parts.

InternetOpenUrl

Begins reading a complete FTP, Gopher, or HTTP URL.

توابع FTP :

Name

Description

FtpCreateDirectory

Creates a new directory on the FTP server

FtpDeleteFile

Deletes a file stored on the FTP server

FtpFindFirstFile

Searches the specified directory of the given FTP session

FtpGetCurrentDirectory

Retrieves the current directory for the given FTP session

FtpGetFile

Retrieves a file from the FTP server and stores it under the specified file name, creating a new local file in the process

FtpPutFile

Stores a file on the FTP server

FtpRemoveDirectory

Removes the specified directory on the FTP server

FtpRenameFile

Renames a file stored on the FTP server

FtpSetCurrentDirectory

Changes to a different working directory on the FTP server

توابع HTTP :

Name

Description

HttpAddRequestHeaders

Adds one or more HTTP request headers to the HTTP request handle

HttpEndRequest

Ends an HTTP request

HttpOpenRequest

Opens an HTTP request handle

HttpQueryInfo

Queries for information about an HTTP request

HttpSendRequest

Sends the specified request to the HTTP server

HttpSendRequestEx

Sends the specified request to the HTTP server

 

 

+ حامد شیدائیان ; ۱٢:٠٧ ‎ب.ظ ; شنبه ۱٩ مهر ،۱۳۸٢
comment نظرات ()