独自HTTPヘッダの追加No.00355
たぐち さん 02/06/17 11:11
 
田口と申します。

IE+横取り丸+InetSpyでWEBサイトの開発をしています。
私はパソコンだけでなく、携帯電話のWEBサイトの
開発もしています。
携帯電話のWEBサイトの確認は、最後は本物の携帯電話で
行うのですが、デバッグ時は、ブラウザーで行いたいと
思います。
しかし、携帯電話には、ブラウザーにない特殊なHTTPヘッダ
を送信するものがあります。
user-agentのように携帯の機種を示すものや、携帯の
画面の縦横のピクセルサイズを示すものなど。

これらのHTTPヘッダを自由にIEにInetSpyで設定したい
のですが可能でしょうか?
過去ログを少しみたのですが、良く分りません。
C++のプログラミングはあまりやっていません。
Perlなら少し書けますが。
この機能があると大変便利なのですが。

[ ]
RE:00355 独自HTTPヘッダの追加No.00356
秀まるお2 さん 02/06/17 13:00
 
 HTTPのヘッダを書き換えることは可能です。横取りモジュール側でそのような処理
を行えばいいです。

 InetSpyのソースコードを参考にそういうモジュールを作成すればいいと思います
が、基本的にC言語でのプログラミングが出来ることが前提です。

 僕自身がそのようなヘッダ書き換えツールを作るつもりはありません。

[ ]
RE:00355 独自HTTPヘッダの追加No.00357
たけのこ さん 02/06/17 15:40
 
たけのこです。

>しかし、携帯電話には、ブラウザーにない特殊なHTTPヘッダ
>を送信するものがあります。
>user-agentのように携帯の機種を示すものや、携帯の
>画面の縦横のピクセルサイズを示すものなど。

それだけなら、各社から出ているケータイエミュレータを使うのがもっとも近道
ではないでしょうか? というか、私どもの会社ではそうやっています。各機種
ごとの微妙なタグ解釈の違いや画面サイズ、文字サイズなども考慮してくれるの
で、便利です。今出ているのは、J2MEをアドインできたりするものもあるので、
そっちでも楽ですし。

[ ]
RE:00357 独自HTTPヘッダの追加No.00358
たぐち さん 02/06/17 18:18
 
>それだけなら、各社から出ているケータイエミュレータを使うのがもっとも近道
>ではないでしょうか?

auのテストでOpenWaveのSDKを使っていますが、useragentを
変更出来なくて困っています。機種ごとの処理をしないと
行けないので。
auではサブスクライバIDというのがあるんですが、OpenWaveでは
パソコンのログインIDが入っています。
これが変更できないと、ユーザー固有のサービス処理がテスト
出来なくて不便です。



[ ]
RE:00358 独自HTTPヘッダの追加No.00359
秀まるお2 さん 02/06/17 18:47
 
 例えば、リクエスト情報中の適当な文字列を置換するだけって話なら、InetSpyの
ソースコードを少し改造するだけでも実現は出来ますけど。

 C言語についての多少の知識があれば出来ると思います。

 具体的には、DllMain.cppの中に

BOOL Requested( HTRANS hTrans )

 という関数があるので、そこの中身をちょっといじればいいです。例えば極めて手
抜きな処理の例として、こんなことも出来ます。

BOOL Requested( HTRANS hTrans ) {
    int cb = YdmGetReqSize( hTrans );
    char*   pszData = (char*)LocalAlloc( LPTR, cb );
    memcpy( pszData, YdmGetReqPointer( hTrans ), cb );
    char*   pszFind = strstr( "User-Agent: AAAA" );
    if( pszFind != NULL ) {
        memcpy( pszFind, "User-Agent: BBBB", 16 );
        YdmSetReqData( hTrans, pszData, cb );
    }
    LocalFree( (HLOCAL)pszData );
    return FALSE;
}

[ ]