本文系統介紹 GCF(通用連接框架)七大開放連線方法、HTTP 請求/回應結構、狀態碼分類,並列出 HttpConnection 常用 API 表格,為後續實戰打下理論基礎。
Connector.open(String name)
Connector.open(String name, int mode, boolean timeouts)
Connector.openDataInputStream(String name)
Connector.openDataOutputStream(String name)
Connector.openInputStream(String name)
Connector.openOutputStream(String name)
未簽名 MIDlet 呼叫 Connector.open() 會彈出確認對話框,開發期可用 MIDlet.checkPermission() 預先檢測:
MIDlet.checkPermission("javax.microedition.io.Connector.http");
MIDlet.checkPermission("javax.microedition.io.Connector.socket");
| 運營商 | 代理模式 | 代理位址 | Header Key | 直連模式 |
|---|---|---|---|---|
| 中國移動 | CMWAP | 10.0.0.172 | X-Online-Host | CMNET |
| 中國聯通 | UNIWAP | 10.0.0.172 | X-Online-Host | UNINET |
| 中國電信 | CTWAP | 10.0.0.200 | 未知 | CTNET |
| 方法 | 說明 |
|---|---|
| getResponseCode() | 取得 HTTP 狀態碼 |
| openInputStream() / openDataInputStream() | 開啟輸入流(觸發真正連線) |
| openOutputStream() | 開啟輸出流(POST 請求發送 Body) |
| setRequestMethod(String) | 設定 GET/POST/HEAD |
| setRequestProperty(key, value) | 設定請求 Header |
| getHeaderField(String) | 取得回應 Header |

重要提醒:Connector.open() 僅建立連線物件,真正發起網路連線是在呼叫 getResponseCode()、openInputStream() 等 I/O 方法時;底層以 TCP Socket 實現。