91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

易語言如何進行網頁操作

發布時間:2021-08-18 11:42:15 來源:億速云 閱讀:641 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關易語言如何進行網頁操作的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

首先展示下功能(看圖片)

本代碼附加了DLL代碼命令,會以不同的顏色標注,也可以全部復制后張貼到易語言新建的一個程序集名中,易語言會智能的分開DLL和子程序。

易語言如何進行網頁操作

相關源碼:

.版本 2

.程序集 網頁操作累

.子程序 HTTP讀文本, 文本型, 公開, 有可能線程阻塞,請在外部加超時判斷
.參數 完整網址, 文本型
.參數 訪問方式, 文本型, 可空, "GET" or "POST",為空默認"GET"
.參數 代理地址, 文本型, 可空
.參數 附加協議頭, 文本型, 可空
.參數 提交信息, 文本型, 可空, "POST"專用
.參數 網頁頭, 文本型, 參考 可空, 返回網頁頭部信息

返回 (到文本 (HTTP網頁訪問 (完整網址, 訪問方式, 代理地址, 附加協議頭, 提交信息, 網頁頭)))

.子程序 HTTP網頁訪問, 字節集, 公開, 有可能線程阻塞,請在外部加超時判斷
.參數 完整網址, 文本型, , “http://”
.參數 訪問方式, 文本型, 可空, "GET" or "POST",為空默認"GET"
.參數 代理地址, 文本型, 可空
.參數 附加協議頭, 文本型, 可空
.參數 提交信息, 文本型, 可空, "POST"專用
.參數 網頁頭, 文本型, 參考 可空, 返回網頁頭部信息
.局部變量 請求句柄, 整數型
.局部變量 連接句柄, 整數型
.局部變量 返回句柄, 整數型
.局部變量 域名, 文本型
.局部變量 頁面地址, 文本型
.局部變量 已讀字節, 整數型
.局部變量 Cookie位置, 整數型
.局部變量 內存號, 整數型
.局部變量 字節集容器, 字節集
.局部變量 返回字集, 字節集

頁面地址 = 取頁面地址 (完整網址)
域名 = 取域名 (完整網址)
' 建立基本連接
.如果 (刪全部空 (代理地址) = “”)
  請求句柄 = InternetOpen (到文本 (“Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)”), 1, 字符 (0), 字符 (0), 0)
.否則
  請求句柄 = InternetOpen (到文本 (“Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)”), 3, 到文本 (“http=” + 代理地址), 字符 (0), 0)
.如果結束
.如果真 (請求句柄 = 0)
  返回字集 = 取空白字節集 (0)
  返回 (取空白字節集 (255))
.如果真結束
連接句柄 = InternetConnect (請求句柄, 域名, 取端口 (完整網址), “”, “”, 3, 0, 0)
.如果真 (連接句柄 = 0)
  InternetCloseHandle (請求句柄)
  返回字集 = 取空白字節集 (0)
  返回 (取空白字節集 (255))
.如果真結束
返回句柄 = HttpOpenRequest (連接句柄, 訪問方式, 頁面地址, “HTTP/1.1”, 字符 (0), 字符 (0), 2147483648, 0)
.如果真 (返回句柄 = 0)
  InternetCloseHandle (連接句柄)
  InternetCloseHandle (請求句柄)
  返回字集 = 取空白字節集 (0)
  返回 (取空白字節集 (255))
.如果真結束
' 補充協議頭
.如果真 (尋找文本 (附加協議頭, “Accept: ”, 1, 真) = -1)
  附加協議頭 = 附加協議頭 + “Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*” + #換行符
.如果真結束
.如果真 (尋找文本 (附加協議頭, “Referer: ”, 1, 真) = -1)
  附加協議頭 = 附加協議頭 + “Referer: ” + 完整網址 + #換行符
.如果真結束
.如果真 (尋找文本 (附加協議頭, “Accept-Language: ”, 1, 真) = -1)
  附加協議頭 = 附加協議頭 + “Accept-Language: zh-cn” + #換行符
.如果真結束
' 附帶信息發送請求
.判斷開始 (訪問方式 = “” 或 到大寫 (訪問方式) = “GET”)
  HttpSendRequest (返回句柄, 附加協議頭, 取文本長度 (附加協議頭), 字符 (0), 0)
.判斷 (到大寫 (訪問方式) = “POST”)
  .如果真 (提交信息 ≠ “”)
    .如果真 (尋找文本 (附加協議頭, “Content-Type: ”, 1, 真) = -1)
      附加協議頭 = 附加協議頭 + “Content-Type: application/x-www-form-urlencoded” + #換行符
    .如果真結束
    附加協議頭 = 附加協議頭 + “Content-Length: ” + 到文本 (取文本長度 (提交信息)) + #換行符
  .如果真結束
  HttpSendRequest (返回句柄, 附加協議頭, 取文本長度 (附加協議頭), 提交信息, 取文本長度 (提交信息))
.默認
  InternetCloseHandle (連接句柄)
  InternetCloseHandle (請求句柄)
  InternetCloseHandle (返回句柄)
  返回字集 = 取空白字節集 (0)
  返回 (取空白字節集 (255))
.判斷結束
' 讀取頁面文本
內存號 = 打開內存文件 ()
字節集容器 = 取空白字節集 (2048)
.循環判斷首 ()
  處理事件 ()
  InternetReadFile (返回句柄, 字節集容器, 取字節集長度 (字節集容器), 已讀字節)
  寫出字節集 (內存號, 取字節集左邊 (字節集容器, 已讀字節))
  ' 返回字集 = 返回字集 + 取字節集左邊 (字節集容器, 已讀字節)
.循環判斷尾 (已讀字節 ≠ 0)
移到文件首 (內存號)
返回字集 = 讀入字節集 (內存號, 取文件長度 (內存號))
關閉文件 (內存號)
' 取服務器回傳協議頭
網頁頭 = 取空白文本 (1024)
HttpQueryInfo (返回句柄, 22, 網頁頭, 1024, 0)
' 關閉句柄
InternetCloseHandle (返回句柄)
InternetCloseHandle (連接句柄)
InternetCloseHandle (請求句柄)
' 設置COOKIE
.如果真 (尋找文本 (網頁頭, “Set-Cookie: ”, 1, 真) > 0)
  內存號 = 打開內存文件 ()
  寫出文本 (內存號, 網頁頭)
  移到文件首 (內存號)
  .判斷循環首 (是否在文件尾 (內存號, 假) = 假)
    網頁頭 = 讀入一行 (內存號)
    .如果真 (尋找文本 (網頁頭, “Set-Cookie: ”, 1, 真) > 0)
      網頁頭 = 文本替換 (網頁頭, 1, 12, )
      Cookie位置 = 尋找文本 (網頁頭, “=”, 1, 真)
      InternetSetCookie (“http://” + 域名, 取文本左邊 (網頁頭, Cookie位置 - 1), 取文本右邊 (網頁頭, 取文本長度 (網頁頭) - Cookie位置))
    .如果真結束
    處理事件 ()
  .判斷循環尾 ()
  關閉文件 (內存號)
.如果真結束
返回 (返回字集)

.子程序 打開指定網址, 邏輯型, 公開, 打開指定網址(成功返回真,失敗返回假)
.參數 要打開的網址, 文本型, , 欲打開的網頁地址

.如果 (_執行 (0, “open”, “explorer.exe”, 要打開的網址, “”, 1) = 2)
  返回 (假)
.否則
  返回 (真)
.如果結束


.子程序 URL編碼_UTF8, 文本型, 公開, 返回已編碼的URL
.參數 Bin_URL, 文本型
.局部變量 局部_數據, 字節集
.局部變量 局部_數據1, 字節集
.局部變量 i, 整數型
.局部變量 ii, 文本型

局部_數據 = 編碼轉換 (到字節集 (Bin_URL), “GBK”, “utf-8”, 3)
局部_數據 = 取字節集左邊 (局部_數據, 取字節集長度 (局部_數據) - 1)
.計次循環首 (取字節集長度 (局部_數據), i)
  .如果 (到整數 (局部_數據 [i]) ≥ 48 且 到整數 (局部_數據 [i]) ≤ 57 或 到整數 (局部_數據 [i]) ≥ 65 且 到整數 (局部_數據 [i]) ≤ 90 或 到整數 (局部_數據 [i]) ≥ 65 且 到整數 (局部_數據 [i]) ≤ 90 或 到整數 (局部_數據 [i]) ≥ 97 且 到整數 (局部_數據 [i]) ≤ 122)
    ii = ii + 字符 (局部_數據 [i])
  .否則
    ii = ii + “%” + 取十六進制文本 (局部_數據 [i])
  .如果結束

.計次循環尾 ()
返回 (ii)

.子程序 URL編碼, 文本型, 公開, 返回已編碼的URL
.參數 Bin_URL, 文本型
.局部變量 局部_數據, 字節集
.局部變量 i, 整數型
.局部變量 ii, 文本型

局部_數據 = 到字節集 (Bin_URL)
.計次循環首 (取字節集長度 (局部_數據), i)
  .如果 (到整數 (局部_數據 [i]) ≥ 48 且 到整數 (局部_數據 [i]) ≤ 57 或 到整數 (局部_數據 [i]) ≥ 65 且 到整數 (局部_數據 [i]) ≤ 90 或 到整數 (局部_數據 [i]) ≥ 65 且 到整數 (局部_數據 [i]) ≤ 90 或 到整數 (局部_數據 [i]) ≥ 97 且 到整數 (局部_數據 [i]) ≤ 122)
    ii = ii + 字符 (局部_數據 [i])
  .否則
    ii = ii + “%” + 取十六進制文本 (局部_數據 [i])
  .如果結束

.計次循環尾 ()
返回 (ii)

.子程序 URL解碼_UTF8, 文本型, 公開, 返回已解碼的URL
.參數 Bin_URL, 文本型, , 欲解碼的文本
.局部變量 循環容器, 整數型
.局部變量 Len, 整數型
.局部變量 HEX, 文本型
.局部變量 目標, 文本型
.局部變量 H, 整數型
.局部變量 L, 整數型

Len = 取文本長度 (Bin_URL)
循環容器 = 1
HEX = “0123456789ABCDEF”
.判斷循環首 (循環容器 ≤ Len)
  .判斷開始 (取文本中間 (Bin_URL, 循環容器, 1) ≠ “%”)
    目標 = 目標 + 取文本中間 (Bin_URL, 循環容器, 1)
  .默認
    循環容器 = 循環容器 + 1
    H = 尋找文本 (HEX, 到大寫 (取文本中間 (Bin_URL, 循環容器, 1)), , 假) - 1
    循環容器 = 循環容器 + 1
    L = 尋找文本 (HEX, 到大寫 (取文本中間 (Bin_URL, 循環容器, 1)), , 假) - 1
    目標 = 目標 + 字符 (H × 16 + L)
  .判斷結束
  循環容器 = 循環容器 + 1
.判斷循環尾 ()
返回 (到文本 (編碼轉換 (到字節集 (目標), “utf-8”, “GBK”)))

.子程序 URL解碼, 文本型, 公開, 返回已解碼的URL
.參數 Bin_URL, 文本型, , 欲解碼的文本
.局部變量 循環容器, 整數型
.局部變量 Len, 整數型
.局部變量 HEX, 文本型
.局部變量 目標, 文本型
.局部變量 H, 整數型
.局部變量 L, 整數型

Len = 取文本長度 (Bin_URL)
循環容器 = 1
HEX = “0123456789ABCDEF”
.判斷循環首 (循環容器 ≤ Len)
  .判斷開始 (取文本中間 (Bin_URL, 循環容器, 1) ≠ “%”)
    目標 = 目標 + 取文本中間 (Bin_URL, 循環容器, 1)
  .默認
    循環容器 = 循環容器 + 1
    H = 尋找文本 (HEX, 到大寫 (取文本中間 (Bin_URL, 循環容器, 1)), , 假) - 1
    循環容器 = 循環容器 + 1
    L = 尋找文本 (HEX, 到大寫 (取文本中間 (Bin_URL, 循環容器, 1)), , 假) - 1
    目標 = 目標 + 字符 (H × 16 + L)
  .判斷結束
  循環容器 = 循環容器 + 1
.判斷循環尾 ()
返回 (目標)

.子程序 取頁面地址, 文本型
.參數 網址, 文本型
.局部變量 頁面地址, 文本型
.局部變量 符號位置, 整數型
.局部變量 域名, 文本型

域名 = 取域名 (網址)
符號位置 = 尋找文本 (網址, “/”, 尋找文本 (網址, 域名, 1, 真), 真)
.如果 (符號位置 > 0)
  頁面地址 = 取文本右邊 (網址, 取文本長度 (網址) - 符號位置 + 1)
.否則
  頁面地址 = “/”
.如果結束
返回 (頁面地址)

.子程序 取端口, 整數型
.參數 網址, 文本型
.局部變量 dwNumber, 整數型
.局部變量 szServerName, 文本型

szServerName = 取域名 (網址, 真)
dwNumber = 尋找文本 (szServerName, “:”, , 假)
dwNumber = 選擇 (dwNumber = -1, 80, 到數值 (取文本右邊 (szServerName, 取文本長度 (szServerName) - dwNumber)))
返回 (dwNumber)

.子程序 取域名, 文本型
.參數 網址, 文本型
.參數 不過濾端口, 邏輯型, 可空
.局部變量 dwNumber, 整數型
.局部變量 dwLast, 整數型
.局部變量 szServerName, 文本型
.局部變量 臨時文本, 文本型
.局部變量 網址頭, 整數型

szServerName = 網址
dwNumber = 選擇 (尋找文本 (szServerName, “http://”, , 假) = -1, 1, 尋找文本 (szServerName, “http://”, , 假) + 7)
szServerName = 取文本中間 (szServerName, dwNumber, 選擇 (尋找文本 (szServerName, “/”, dwNumber, 假) = -1, 取文本長度 (szServerName), 尋找文本 (szServerName, “/”, dwNumber, 假) - dwNumber)) ' 這段代碼是過濾掉前http://和后/





.如果真 (取反 (不過濾端口))
  dwNumber = 尋找文本 (szServerName, “:”, , 假)
  .如果真 (dwNumber ≠ -1)
    szServerName = 取文本左邊 (szServerName, dwNumber - 1)
  .如果真結束

.如果真結束
返回 (到小寫 (szServerName))

.子程序 編碼轉換, 字節集
.參數 待轉換數據, 字節集
.參數 轉換前編碼, 文本型
.參數 轉換后編碼, 文本型, , utf-8;unicode;GBK 等
.參數 開始位置, 整數型, 可空, 位置從0開始。
.局部變量 文本, 文本型
.局部變量 字節集, 字節集
.局部變量 Adodb, 對象
.局部變量 變體型, 變體型

初始化對象開始 (0)
Adodb.創建 (“Adodb.Stream”, )
Adodb.寫屬性 (“Type”, 1)
Adodb.方法 (“Open”, )
變體型.置類型 (7)
變體型.創建數組 (1, 取字節集長度 (待轉換數據))
變體型.賦值 (待轉換數據, )
Adodb.方法 (“Write”, 變體型)
Adodb.寫屬性 (“Position”, 0)
Adodb.寫屬性 (“Type”, 2)
Adodb.寫屬性 (“Charset”, 轉換前編碼)
文本 = Adodb.文本方法 (“ReadText”, )
Adodb.方法 (“Close”, )
Adodb.方法 (“Open”, )
Adodb.寫屬性 (“Charset”, 轉換后編碼)
Adodb.方法 (“WriteText”, 文本)
Adodb.寫屬性 (“Position”, 0)
Adodb.寫屬性 (“Type”, 1)
.如果真 (是否為空 (開始位置) = 假)
  Adodb.寫屬性 (“Position”, 開始位置)
.如果真結束
字節集 = Adodb.通用方法 (“Read”, ).取字節集 ()
Adodb.清除 ()
初始化對象結束 ()
返回 (字節集)

.版本 2

.DLL命令 初始化對象開始, , "ole32.dll", "CoInitialize"
  .參數 pvReserved, 整數型

.DLL命令 初始化對象結束, , "ole32.dll", "CoUninitialize"

.DLL命令 InternetSetCookie, , "wininet.dll", "InternetSetCookieA"
  .參數 域名, 文本型, 傳址
  .參數 名稱, 文本型, 傳址
  .參數 內容, 文本型, 傳址

.DLL命令 InternetGetCookie, , "wininet.dll", "InternetGetCookieA"
  .參數 域名, 文本型, 傳址
  .參數 名稱, 文本型, 傳址
  .參數 內容, 文本型, 傳址
  .參數 尺寸, 整數型, 傳址

.DLL命令 HttpQueryInfo, , "wininet.dll", "HttpQueryInfoA"
  .參數 Internet請求句柄, 整數型
  .參數 待查信息, 整數型, , 22返回所有信息;43SET_COOKIE;+2147483648返回文本
  .參數 返回容器, 文本型, 傳址
  .參數 返回容器長度, 整數型, 傳址
  .參數 lpdwIndex, 整數型

.DLL命令 HttpAddRequestHeaders, , "wininet.dll", "HttpAddRequestHeadersA"
  .參數 Internet請求句柄, 整數型
  .參數 lpszHeaders, 文本型, 傳址
  .參數 dwHeadersLength, 整數型
  .參數 dwModifiers, 整數型

.DLL命令 InternetCloseHandle, 邏輯型, "wininet.dll", "InternetCloseHandle", , 訪問網頁
  .參數 hInternet, 整數型

.DLL命令 HttpOpenRequest, 整數型, "WinINet.dll", "HttpOpenRequestA"
  .參數 hConnect, 整數型
  .參數 lpszVerb, 文本型
  .參數 lpszObjectName, 文本型
  .參數 lpszVersion, 文本型
  .參數 lpszReferer, 文本型
  .參數 lplpszAcceptTypes, 文本型
  .參數 dwFlags, 整數型
  .參數 dwContext, 整數型

.DLL命令 InternetReadFile, 邏輯型, "WinINet.dll"
  .參數 hFile, 整數型
  .參數 lpBuffer, 字節集, 傳址
  .參數 dwNumberOfBytesToRead, 整數型
  .參數 lpdwNumberOfBytesRead, 整數型, 傳址

.DLL命令 HttpSendRequest, 邏輯型, "wininet.dll", "HttpSendRequestA"
  .參數 HTTP請求句柄, 整數型
  .參數 sHeaders, 文本型, 傳址
  .參數 lHeadersLength, 整數型
  .參數 sOptional, 文本型, 傳址
  .參數 lOptionalLength, 整數型

.DLL命令 InternetConnect, 整數型, "wininet.dll", "InternetConnectA"
  .參數 Internet句柄, 整數型
  .參數 域名, 文本型, 傳址
  .參數 服務器端口, 整數型, , 80HTTP;21FTP;
  .參數 用戶名, 文本型, 傳址, 空
  .參數 用戶口令, 文本型, 傳址, 空
  .參數 服務類型, 整數型, , 1FTP;3HTTP
  .參數 dwFlags, 整數型, , 0http;134217728被動FTP模式
  .參數 dwContext, 整數型, , 0

.DLL命令 InternetOpen, 整數型, "wininet.dll", "InternetOpenA"
  .參數 句柄名稱, 文本型, 傳址
  .參數 連接類型, 整數型, , 1直接連接;3代理連接
  .參數 代理, 文本型, 傳址
  .參數 代理掩碼, 文本型, 傳址
  .參數 dwFlags, 整數型, , 0

.DLL命令 _執行, 整數型, , "ShellExecuteA"
  .參數 hwnd, 整數型, , 指定一個窗口的句柄,有些時候,Windows程序有必要在創建自己的主窗口前顯示一個消息框。
  .參數 lpOperation, 文本型, , 指定字串“Open”來打開lpFlie文檔;或指定“Print”來打印它。也可設為vbNullString,表示默認為“Open”
  .參數 lpFile, 文本型, , 想用關聯的程序打印或打開的一個程序名或文件名
  .參數 lpParameters, 文本型, , 如lpFile是一個可執行文件,則這個字串包含了傳遞給執行程序的參數。如lpFile引用的是一個文檔文件,或者不需要使用參數,則設為vbNullString
  .參數 lpDirectory, 文本型, , 想使用的默認路徑完整路徑
  .參數 nShowCmd, 整數型, , 定義了如何顯示啟動程序的常數值。參考ShowWindow函數的nCmdShow參數

感謝各位的閱讀!關于“易語言如何進行網頁操作”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

岳西县| 徐汇区| 嘉鱼县| 广南县| 绥中县| 隆回县| 山丹县| 城步| 镇安县| 罗甸县| 乐陵市| 丰镇市| 措勤县| 登封市| 南木林县| 苍南县| 万源市| 大安市| 通渭县| 黑龙江省| 阳谷县| 吉安市| 宜丰县| 柳江县| 呈贡县| 隆尧县| 搜索| 镇远县| 芦山县| 边坝县| 孟津县| 绍兴市| 图片| 鹤庆县| 乐安县| 辽阳县| 康乐县| 苏州市| 博湖县| 宁波市| 雷波县|