[PHP-users 34427] 変数の結合

Minoru.Harada harada @ acekoeki.co.jp
2009年 3月 19日 (木) 11:28:54 JST


お世話になります。
Minoといいます。

本日は変数の結合に関して質問させていただきます。

あるサイトを利用するためにはユーザー認証をしてセッションID
を取得しなければなりません。毎回ログインするのは面倒なので
HTTP_Requestを利用してセッションIDを変数($sessionID)に格
納してみました。

データを取得するURLは
-----------------------------------------------------------------------
http://ri2.rois.com/セッション
ID/CTIB/RI3APISNAP?RIC=XAU=X&ENCODING=SHIFT_JIS&FORMAT=XML";
-----------------------------------------------------------------------
となっているので、作成した変数を利用してデータを取得するURL作成するた
めに下記のように記述してみました。

<?php
require_once "HTTP/Request.php";
$req =& new
HTTP_Request("http://ris.rois.com/cgi-bin/GetSessionId.cgi?cmd=get_session_i
d&uid=111111&uip=1.1.1.1");
$req->setBasicAuth("***", "***");
$response = $req->sendRequest();
$sessionID = $req->getResponseBody();

if (PEAR::isError($response)) {
    echo $response->getMessage();
} else {
    //echo $req->getResponseBody();
}

$url = "http://ri2.rois.com/";
$url .= $sessionID;
$url .= "/CTIB/RI3APISNAP?RIC=XAU=X&ENCODING=SHIFT_JIS&FORMAT=XML";
print $url
?>

これを実行してみると
-----------------------------------------------------------------------
http://ri2.rois.com/*DU1vfjuUbB1X25rZG3Yz4R8MUKg1gtscMreXa0-jZ8Wvq*/CTIB/RI3
APISNAP?RIC=XAU=X&ENCODING=SHIFT_JIS&FORMAT=XML
          ※空白が判りづらいので*で表示しています
-----------------------------------------------------------------------
http://ri2.rois.com/の後と/CTIB/RI3API〜の前に空白が入ってしまいます。

別の方法として
1)
$url = "http://ri2.rois.com/".$sessionID".
/CTIB/RI3APISNAP?RIC=XAU=X&ENCODING=SHIFT_JIS&FORMAT=XML
2)
$url = "http://ri2.rois.com/{$sessionID}
/CTIB/RI3APISNAP?RIC=XAU=X&ENCODING=SHIFT_JIS&FORMAT=XML

と記述してみましたが、結果は同じでした。
何かよい解決策はないでしょうか?
よろしくお願いいたします。






PHP-users メーリングリストの案内