Syntax
LPSTR cmnWebRequest( TWebParam& WebParam );
Parameters
- WebParam
[in] WEBアクセスパラメータ
以下の必要な項目を設定します。
lpBaseURL [in] ベースURL
lpURLが相対パスの場合にベースとなるURLを指定します。
省略可能です。lpURL [in] アクセスURL lpUserID [in] 認証サイトのID
クリアテキスト認証または暗号化パスワード認証の場合に使用します。
cookie認証には使用できません。
省略可能です。lpPassword [in] 認証サイトのパスワード
クリアテキスト認証または暗号化パスワード認証の場合に使用します。
cookie認証には使用できません。
省略可能です。lpHeader [in] HTTP Header
省略可能です。
省略した場合には以下の値が使用されます。
・cPostが1以上かつlpPostがNULL以外の場合
Content-Type: application/x-www-form-urlencoded
Proxy-Connection: Keep-Alive
Accept-Language: ja
Accept-Encoding: gzip
・それ以外の場合
Accept-Language: ja
Accept-Encoding: gzip
lpReferer [in] Referer
巡回時先サイトがRefererを必要とする場合に設定します。
省略可能です。
lpString [in] 巡回中に巡回ステータスに表示する文字列
受信の場合は通常は掲示板名、投稿の場合は通常は発言タイトルを設定します。
・cPostが1以上かつlpPostがNULL以外かつbContributeがTRUEの場合
指定文字列の前に「投稿中 : 」が挿入されます。
省略可能です。
省略した場合には以下の文字列が使用されます。
・cPostが1以上かつlpPostがNULL以外かつbContributeがTRUEの場合
投稿中
・それ以外の場合
受信中
※掲示板巡回中のみ有効です。cpxFolderPilotStart等では無効です。
cPost [in] POSTパラメータサイズ
lpPostに設定されたPOSTパラメータのサイズ。
省略可能です。
lpPost [in] POSTパラメータ
cPostが1以上でlpPostがNULL以外の場合には"POST"メソッドとなります。
それ以外の場合は"GET"メソッドとなります。
省略可能です。
bContribute [in] 投稿フラグ
投稿する場合はTRUEを設定します。
TRUEとFALSEではlpStringの扱いが変わるだけです。
省略可能です。
cTimeout [in] タイムアウト値(秒)
省略可能です。
省略した場合は60秒となります。
bNoUncompress [in] gzip無展開フラグ
TRUEが指定されるとgzip展開されません。
省略可能です。
bNoSetError [in] エラー文字列非設定フラグ
TRUEが指定されるとWEBアクセス中にエラーが発生してもエラー文字列は設定されません。
省略可能です。
dwSize [out] 受信サイズ
受信されたデータのサイズが設定されます。
dwStatus [out] HTTPステータスコード
通常は200(OK)が設定されます。cContentType [in] ContentTypeの取得サイズ
受信されたデータのContentTypeを取得する場合のバッファサイズ。 省略可能です。
lpContentType [out] ContentType
受信されたデータのContentType。
cContentTypeが1以上でlpContentTypeがNULL以外の場合に設定されます。
省略可能です。
cRealURL [in] 転送先URLの取得サイズ
転送先URLを受信する場合のバッファサイズ。
省略可能です。
lpRealURL [out] 転送先URL
lpURLで指定したURLへのアクセス結果が301(moved)または302(redirect)のステータスの場合、 CMNは転送先URLへのアクセスを試みます。
cRealURLが1以上かつlpRealURLがNULL以外の場合に転送先URLが設定されます。
転送先URLにアクセスできなかった場合には設定されません。
省略可能です。
その他の項目 0 で初期化する必要があります。
Return Value
受信されたデータのポインタが戻ります。
ポインタがNULL以外の場合、CPXが終了する前にICmnPilot::cmnFreeでデータ領域を開放しなければなりません。
WEBアクセスがエラーの場合にはNULLが戻ります。
Remarks
ICmnPilot::cmnWebRequest の戻り値となるデータ領域はCMNで管理されます。
データ領域を開放するには free () を使用せずに必ず ICmnPilot::cmnFree を使用してください。
Example
C++
: TWebParam WebParam; memset (&WebParam, 0, sizeof (TWebParam)); WebParam.lpURL = szURL; WebParam.lpString = Mes.lpSubject; if ((pPage = m_pICmnPilot->cmnWebRequest (WebParam)) != NULL) { : m_pICmnPilot->cmnFree (pPage); }Delphi
var WebParam: TWebParam; ; : FillChar (WebParam, sizeof (TWebParam), 0); WebParam.lpURL := szURL; WebParam.lpString := Mes.lpSubject; pPage := m_pICmnPilot.cmnWebRequest (WebParam); if (pPage <> Nil) then begin : m_pICmnPilot.cmnFree (pPage); end;