A. 在HTTP中,常用的請求方式有哪幾種這幾種方式各自的傳值代碼怎麼寫(asp.net環境)
傳值方式不外乎就通過URL(get)來取值
通過表單post傳值
通過session和cookies 這幾種
B. 易語言 發送get請求 什麼方法最快
.版本2
.DLL命令CoInitialize,整數型,"ole32.dll",,公開,初始化對象開始
.參數pvReserved,整數型,,0
.DLL命令CoUninitialize,整數型,"ole32.dll",,公開,初始化對象結束
.版本2
.子程序網頁訪問,位元組集,公開,出錯或超時將返回空,本命令將設置Cookies到本地
.參數網址,文本型,,完整的網頁地址
.參數訪問方式,文本型,可空,"GET"or"POST",為空默認"GET"
.參數提交信息,文本型,可空,"POST"專用
.參數提交Cookies,文本型,參考可空,提交的Cookie註:本參數傳遞變數時會自動回傳返回的Cookie
.參數返回Cookies,文本型,參考可空,返回的Cookie
.參數附加協議頭,文本型,可空,一行一個請用換行符隔開
.參數返回協議頭,文本型,參考可空,Location
.參數禁止重定向,邏輯型,可空,默認不禁止網頁重定向
.參數超時,整數型,可空,秒|默認為15秒,-1為無限等待
.參數完整協議頭,文本型,參考可空,返回完整的協議頭
.參數位元組集提交,位元組集,可空,提交位元組集數據
.局部變數局部_WinHttp,對象
.局部變數局部_返回Cookies,文本型,,"0"
.局部變數局部_計次,整數型
.局部變數局部_網頁數據,位元組集
.局部變數局部_發送協議頭,文本型,,"0"
.局部變數局部_協議頭處理,文本型,,"0"
.局部變數局部_變體提交,變體型
CoInitialize(0)
.如果真(局部_WinHttp.創建(「WinHttp.WinHttpRequest.5.1」,)=假)
返回({})
.如果真結束
'局部_WinHttp.查看()
訪問方式=到大寫(訪問方式)
.如果真(訪問方式=「」)
訪問方式=「GET」
.如果真結束
.如果真(超時≠-1)
.如果(超時<1)
超時=15000
.否則
超時=超時×1000
.如果結束
局部_WinHttp.方法(「SetTimeouts」,超時,超時,超時,超時)
.如果真結束
.如果真(集_代理地址≠「」)
局部_WinHttp.方法(「SetProxy」,2,集_代理地址)
.如果真(集_用戶名≠「」)
局部_WinHttp.方法(「SetProxyCredentials」,集_用戶名,集_密碼,集_代理標識)
.如果真結束
.如果真結束
局部_WinHttp.方法(「Open」,訪問方式,網址,假)
.如果真(禁止重定向)
局部_WinHttp.寫屬性(「Option」,6,0)
.如果真結束
.如果真(附加協議頭=「」)
附加協議頭=「Referer:」+網址+#換行符+#協議頭_網頁
.如果真結束
提交Cookies=COOKIE合並更新(取COOKIE(取域名(網址,真)),提交Cookies)
.如果真(提交Cookies≠「」)
局部_WinHttp.方法(「SetRequestHeader」,「Cookie」,提交Cookies)
.如果真結束
.判斷開始(尋找文本(附加協議頭,#換行符,,假)>-1)
局部_發送協議頭=分割文本(附加協議頭,#換行符,)
.計次循環首(取數組成員數(局部_發送協議頭),局部_計次)
.如果真(尋找文本(局部_發送協議頭[局部_計次],「:」,,假)>-1)
清除數組(局部_協議頭處理)
局部_協議頭處理=分割文本(局部_發送協議頭[局部_計次],「:」,)
局部_計次=2
.判斷循環首(真)
局部_計次=局部_計次+1
.如果真(局部_計次>取數組成員數(局部_協議頭處理))
跳出循環()
.如果真結束
局部_協議頭處理[2]=局部_協議頭處理[2]+「:」+局部_協議頭處理[局部_計次]
.判斷循環尾()
局部_WinHttp.方法(「SetRequestHeader」,局部_協議頭處理[1],局部_協議頭處理[2])
.如果真結束
.計次循環尾()
.默認
.如果真(尋找文本(附加協議頭,「:」,,假)>-1)
局部_協議頭處理=分割文本(附加協議頭,「:」,)
局部_計次=2
.判斷循環首(真)
局部_計次=局部_計次+1
.如果真(局部_計次>取數組成員數(局部_協議頭處理))
跳出循環()
.如果真結束
局部_協議頭處理[2]=局部_協議頭處理[2]+「:」+局部_協議頭處理[局部_計次]
.判斷循環尾()
局部_WinHttp.方法(「SetRequestHeader」,局部_協議頭處理[1],局部_協議頭處理[2])
.如果真結束
.判斷結束
.判斷開始(位元組集提交={})
局部_WinHttp.方法(「Send」,提交信息)
.默認
局部_變體提交.賦值(位元組集提交,)
局部_WinHttp.方法(「Send」,局部_變體提交)
.判斷結束
局部_網頁數據=局部_WinHttp.讀屬性(「ResponseBody」,).取位元組集()
完整協議頭=局部_WinHttp.讀文本屬性(「GetallResponseHeaders」,)
局部_返回Cookies=分割文本(完整協議頭,#換行符,)
返回Cookies=「」
.計次循環首(取數組成員數(局部_返回Cookies),局部_計次)
.如果真(尋找文本(局部_返回Cookies[局部_計次],「Location:」,,假)>-1)
返回協議頭=刪首尾空(子文本替換(局部_返回Cookies[局部_計次],「Location:」,,,1,假))
.如果真結束
.如果真(尋找文本(局部_返回Cookies[局部_計次],「Set-Cookie」,,假)>-1)
返回Cookies=返回Cookies+刪首尾空(文本_取出中間文本(局部_返回Cookies[局部_計次],「Set-Cookie:」,「;」))+「;」
.如果真結束
.計次循環尾()
COOKIE合並更新(提交Cookies,返回Cookies)
設COOKIE(取域名(網址,真),提交Cookies)
.如果真(返回協議頭=「」)
返回協議頭=完整協議頭
.如果真結束
CoUninitialize()
返回(局部_網頁數據)
C. Http 常用請求方式和返回狀態碼
很多 Web 開發人員只知道 Http 請求方式有 Get 和 Post 兩種,對於請求返回狀態碼更是知之甚少,基礎的 200, 404, 403, 500 等。作為想更上一層的軟體開發人員,這些是遠遠不夠的,所以我介紹一下在 Http 請求中的常用請求方式和返回狀態碼。
200 OK : 請求成功並返回數據;
201 Created : 資源創建成功並返回資源數據;
202 Accepted : 接受請求,但無法立即完成創建行為,返回的實體中應該包含當前狀態的信息,以及指向處理狀態監視器或狀態預測的指針,以便客戶端能夠獲取最新狀態;
204 No Content : 請求成功不返回數據,通常用於 Delete;
重定向的新地址需要在響應頭 Location 中返回
301 Moved Permanently : 被請求的資源已永久移動到新位置;
302 Found : 請求的資源現在臨時從不同的 URI 響應請求;
303 See Other : 對應當前請求的響應可以在另一個 URI 上被找到,客戶端應該使用 GET 方法進行請求。比如在創建已經被創建的資源時,可以返回 303;
307 Temporary Redirect : 對應當前請求的響應可以在另一個 URI 上被找到,客戶端應該保持原有的請求方法進行請求;
304 Not Modified : 資源自從上次請求後沒有再次發生變化,主要使用場景在於實現數據緩存;
409 Conflict : 請求操作和資源的當前狀態存在沖突。主要使用場景在於實現並發控制;
412 Precondition Failed : 伺服器在驗證在請求的頭欄位中給出先決條件時,沒能滿足其中的一個或多個。主要使用場景在於實現並發控制;
400 Bad Request : 請求體包含語法錯誤;
401 Unauthorized : 需要驗證用戶身份或認證失敗 ;
403 Forbidden : 伺服器拒絕執行;
404 Not Found : 找不到目標資源;
405 Method Not Allowed : 所請求的 HTTP 方法不允許當前認證用戶訪問;
406 Not Acceptable : 伺服器不支持客戶端請求的內容格式;
410 Gone : 被請求的資源已被刪除,只有在確定了這種情況是永久性的時候才可以使用,否則建議使用 404 Not Found;
413 Payload Too Large : POST 或者 PUT 請求的消息實體過大;
415 Unsupported Media Type : 伺服器不支持請求中提交的數據的格式;
422 Unprocessable Entity : 請求格式正確,但是由於含有語義錯誤,無法響應;
428 Precondition Required : 要求先決條件,如果想要請求能成功必須滿足一些預設的條件;
500 Internal Server Error : 伺服器遇到了一個未曾預料的狀況,導致了它無法完成對請求的處理;
501 Not Implemented : 伺服器不支持當前請求所需要的某個功能;
502 Bad Gateway : 作為網關或者代理工作的伺服器嘗試執行請求時,從上游伺服器接收到無效的響應;
503 Service Unavailable : 伺服器維護或者過載,伺服器當前無法處理請求;
更多信息可查看 Api設計指北 !
文章同步發布在我的個人博客中,傳送門 Hesunfly Blog
D. 易語言http介面問題
易語言僅有http讀文件,如果介面是GET方式,可以採用;但如果是POST方式,則可以下載一些模塊,裡面有POST提交數據方式的命令。這樣的模塊很多,度娘一搜即可。
E. http有哪些請求方法
常用的有 GET 和 POST, 如果支持restful風格的話,還有PUT 和 DELETE 方法
F. HTTP請求方法有哪些
HTTP請求的方法:
HTTP/1.1協議中共定義了八種方法(有時也叫「動作」),來表明Request-URL指定的資源不同的操作方式
1、OPTIONS
返回伺服器針對特定資源所支持的HTTP請求方法,也可以利用向web伺服器發送『*』的請求來測試伺服器的功能性
2、HEAD
向伺服器索與GET請求相一致的響應,只不過響應體將不會被返回。這一方法可以再不必傳輸整個響應內容的情況下,就可以獲取包含在響應小消息頭中的元信息。
3、GET
向特定的資源發出請求。注意:GET方法不應當被用於產生「副作用」的操作中,例如在Web Application中,其中一個原因是GET可能會被網路蜘蛛等隨意訪問。Loadrunner中對應get請求函數:web_link和web_url
4、POST
向指定資源提交數據進行處理請求(例如提交表單或者上傳文件)。數據被包含在請求體中。POST請求可能會導致新的資源的建立和/或已有資源的修改。 Loadrunner中對應POST請求函數:web_submit_data,web_submit_form
5、PUT
向指定資源位置上傳其最新內容
6、DELETE
請求伺服器刪除Request-URL所標識的資源
7、TRACE
回顯伺服器收到的請求,主要用於測試或診斷
8、CONNECT
HTTP/1.1協議中預留給能夠將連接改為管道方式的代理伺服器。
注意:
1)方法名稱是區分大小寫的,當某個請求所針對的資源不支持對應的請求方法的時候,伺服器應當返回狀態碼405(Mothod Not Allowed);當伺服器不認識或者不支持對應的請求方法時,應返回狀態碼501(Not Implemented)。
2)HTTP伺服器至少應該實現GET和HEAD/POST方法,其他方法都是可選的,此外除上述方法,特定的HTTP伺服器支持擴展自定義的方法。